Blog · October 5, 2026 · 8 min read · by Vilva Athiban P B
/notchfit:plan Explained: How Claude Code or Codex Writes a Weekly Workout Plan the Notch Can Actually Run
Most desk-workout advice fails at the same step: it hands you a list of exercises and leaves the hard part, turning that list into a week that fits your body and your calendar, to you. NotchFit does something slightly unusual about that. Instead of a form in the app, it lets the coding agent you already talk to all day write the plan: /notchfit:plan in Claude Code, or $notchfit-plan in OpenAI Codex CLI. This post walks through what that command actually does, what it asks, where the plan ends up, how to get a better one out of it, and where an AI-written plan should and should not be trusted.
What /notchfit:plan is
When you install NotchFit's integrations from its Setup screen, it adds a Claude Code plugin and a set of Codex skills and hooks. Most of that machinery is about the notch panel: it is how the app knows what your agent is working on, when it finishes and when it is waiting for a permission. The plan command is the one piece that runs the other way, from the agent into the app. It is a slash command in Claude Code (a skill in Codex) that interviews you, writes a weekly workout plan, and saves it to ~/.notchfit/plan.json. NotchFit watches that file and picks the new plan up instantly; there is nothing to import.
The constraint that makes it useful rather than generic: the plan may only use exercises NotchFit can animate, the 239 in its library, 198 of them photo animations of real athletes and the rest illustrated moves. So every set the plan prescribes is one the notch can actually show you, rep by rep, while Claude or Codex works. A plan that said "swim twenty lengths" would be worthless in a notch; this one cannot say it.
What it asks, and why each question matters
The interview is short and the questions are the ones a sensible coach would ask before writing anything down:
- Age, height and weight: used to pitch intensity and to avoid, for instance, prescribing deep jumping moves to someone the numbers suggest should start with low-impact work.
- Fitness level and goal: a beginner who wants to stop getting a stiff neck by 4 p.m. and a runner who wants to keep strength up between races should not get the same week, and do not.
- Equipment: for most developers the honest answer is "a chair, a wall and the floor", and the library has plenty for exactly that. Say so; a plan built around a kettlebell you do not own is a plan you will skip.
- Days per week and minutes per day: the questions that make or break adherence. The plan is meant to live inside agent runs, so the realistic answer is small: three to five days, five to fifteen minutes.
- Injuries: anything you name is steered around. This is the question to answer most carefully, and the one where the agent is at its most conservative, as it should be.
The agent then writes the week and saves it. In the app's Plan tab you can read it, see which day is which, and swap to the offline Quick plan generator or the starter plan that ships by default if you would rather not involve an agent at all.
How a plan becomes a day
Having a plan on disk changes nothing on its own; what changes your day is how NotchFit uses it. When Claude Code or Codex takes a task, the notch expands with a Start workout card on one side and the agent's live progress on the other. The exercise it offers is the next one in today's plan. Nothing starts until you tap Start set; then a rep or time countdown ring runs, with Done, Skip and Pause, and rest timers between sets. If the agent finishes while you are mid-set, the "Claude is done" alert waits until the set ends, so the plan never pushes you to stop a rep halfway to read a diff.
That is the quiet reason to write the plan with the agent rather than in a fitness app: the unit of work is already one set, and the trigger is already an event you do not have to remember. The habit post goes into why that combination sticks when calendar reminders do not, and the micro-workouts guide has the exercise-level detail. Finishing a set or a workout feeds the streak and the history heatmap, which is the part most people end up caring about by week three.
Getting a better plan out of the interview
Because the questions are answered in a conversation, you can say more than a form would let you, and it is worth doing so.
- Describe the day, not the ideal. "Two to four agent runs a day, each three to eight minutes, mostly mornings" gives the agent something to fit a plan to. "I want to get fit" does not.
- Name the problem you actually have. Rounded shoulders, a stiff lower back after lunch, wrists that ache by Friday. Posture and mobility goals produce very different weeks from strength goals.
- Be honest about the floor. If you will not get down on the carpet in the office, say so, and the plan stays standing and seated.
- Ask for the reasoning. Once the plan is written, ask the agent why Tuesday is what it is. If the answer does not convince you, ask for a revision; you are in a chat, not a settings screen.
- Re-run it when life changes. New injury, new office, new routine: run
/notchfit:planagain. The file is overwritten and the notch follows the new week immediately.
Where to be sceptical
An AI-written plan is a plan written by a language model, and the product is clear that it is a workout guide, not medical advice. A few honest limits:
- It cannot watch your form. The animations show you what the move looks like done well; they cannot tell you that your knee is caving in. If an exercise hurts, skip it and say so next time you run the plan.
- It is only as good as your answers. Underreport an injury and the plan will cheerfully program around a problem it does not know about.
- It is not periodised training. Sets inside agent runs are excellent for movement, posture and keeping a baseline of strength; they are not a substitute for a structured programme if you are training for something specific. The plan is the floor of your week, not the ceiling.
- If you have a condition that makes exercise selection a medical question, get the plan reviewed by someone qualified before you follow it. The interview makes that easy: the plan is a readable file you can show them.
Practical notes
- NotchFit runs on macOS 14 or later, Apple Silicon or Intel, and costs $20 once with no account, no telemetry and no microphone. It is best on MacBooks with a notch and falls back to a top-centre pill on Macs without one.
- The plan command needs the integrations installed from Setup ("Install / update integrations"). In Codex, trust the hooks once with
/hooks. The hooks run asynchronously and never make your agent wait. - Prefer no agent involvement? The offline Quick plan generator in the Plan tab writes a reasonable week from a few taps, and a starter plan exists by default.
- Do not want to work out today? The Hide workout toggle turns the notch into a pure agent status panel; the plan waits.
The full setup, from Whop download to the notchfit command-line tool, is in the NotchFit user guide.
Keep reading
Desk Exercises for Programmers: 15 Moves to Do While Your AI Agent Codes
7 min read
Exercise While Coding: Turn Claude Code Wait Time Into Micro-Workouts
7 min read
Claude Code Notch Notifications on Mac: See When Claude Is Done Without Watching the Terminal
7 min read
Claude Code Tips and Tricks: 12 Ways to Use Claude Code Effectively
8 min read
Claude Code Multiple Sessions: How to Run Agents in Parallel Without Losing Track
6 min read
A Claude Code Workflow That Doesn't Involve Watching the Terminal
5 min read
Claude Code Hooks: A Practical Guide to Automating Your Agent Workflow
7 min read
Claude Code Auto Mode: Fewer Permission Prompts Without Living Dangerously
7 min read
Claude Code Subagents: How to Delegate Work to Specialized Agents
7 min read
Claude Code Context Management: Treat the Context Window Like a Budget
6 min read
Per-Subagent Model Selection: Route the Grunt Work Down, Keep the Judgment Up Top
7 min read
Skills and Plugins: How to Teach Claude Code Your Way of Working
7 min read
Claude Code Background Tasks: Run Long Commands Without Blocking Your Session
6 min read
Codex CLI Notifications: How to Get a Ding When Codex Is Done or Needs Input
7 min read
Cursor Notification When Done: Every Way to Get Notified When Cursor Finishes
6 min read
Claude Code Notifications: How to Get Notified When Claude Code Finishes or Needs Your Input
6 min read
Want to Be Notified When Claude Responds? How Claude Notifications Work on Web, Desktop, and Mobile
5 min read
Claude Code Notification Scripts: Copy-Paste Recipes for Every Platform
6 min read
Get a Ding the Moment Codex Needs Your Response
6 min read
Get Notified the Moment Claude Code Is Waiting for Your Input
6 min read
“Notifications Are Turned Off for Claude” — Here Is the Fix
6 min read
Codex Sound When Done: Make Codex CLI Play a Sound When It Finishes
6 min read
terminal-notifier + Claude Code: Native macOS Alerts When Your Agent Finishes
6 min read
Gemini CLI Notifications: How to Get a Sound or Alert When Gemini Finishes
6 min read
Get Claude Code Notifications on Your Phone
6 min read
Claude Code Remote Control, Explained
7 min read
preferredNotifChannel: Claude Code's Built-In Notification Setting
6 min read
Claude Code Notifications in tmux and Over SSH
7 min read
Claude Code Effort Levels: Why Your Setting Keeps Getting Ignored
8 min read
Codex vs Claude Code Notifications: How Each One Tells You It Is Done
8 min read
Claude Code Notifications Not Working: A Diagnostic Checklist
10 min read
Claude Code Notifications Inside Your Editor's Terminal
7 min read
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS Explained
7 min read
CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP Explained
8 min read
Cursor Alerts Explained: Every Alert Cursor Raises, and How to Control Them
7 min read
Claude Code Environment Variables: The Groups That Actually Matter
10 min read
Claude Code Notifications on WSL and Windows
9 min read
Claude Code Checkpoints and /rewind
8 min read
Claude Remote Control: How It Works, Turning It Off, and Auto Mode
7 min read
Claude Code /loop: Poll a Deploy, Babysit a PR, and Get Told When It's Done
8 min read
Setting Up NotchFit With OpenAI Codex CLI: Hooks, $notchfit-plan, and the Daily Flow
7 min read
Claude Mods Explained: What the New Plugin Layer Can Do, and How to Turn On 'You Should Know'
9 min read
NotchFit vs Mac Break Reminder Apps: A Clock or a Signal From Your Coding Agent?
8 min read
Claude Code Headless Mode: Running claude -p in Scripts and CI, and the Three Signals That It Finished
10 min read
Building a Movement Habit at a Desk: Use the Agent Run as the Cue, One Set as the Unit, and Streaks Carefully
8 min read
Claude Code MCP Servers Explained: Adding Servers, Choosing a Scope, Handling Secrets, and Why Long Tool Calls Go to the Background
10 min read