Blog · October 20, 2026 · 8 min read · by Vilva Athiban P B

Standing Desk Exercises for Developers: Why Standing Still Is Not the Goal, Eight Movements That Fit a Thirty-Second Agent Run, and How NotchFit Cues Them From the Notch

A standing desk solves one problem and quietly creates another. It gets you out of the chair, which is the point, and then it leaves you standing in exactly one position for the next ninety minutes, which the body likes only slightly more than sitting in one position. The developers who get the most out of a standing desk are not the ones who stand the longest. They are the ones who treat standing as a starting posture for small movements rather than as a destination.

Coding agents make that unusually easy, because they hand you short, unpredictable gaps all day. Claude Code or Codex takes a task, works for forty seconds or four minutes, and comes back needing a decision. Standing, you can use that gap for a movement that would feel absurd in a chair. This post is a practical guide to what to do at a standing desk while an agent runs: which movements suit a desk height and a thirty-second window, how to pace them across a day, and how NotchFit uses the agent's own progress to cue them from the MacBook notch. It assumes you have read our general case for breaking up sitting with agent runs; here the chair is already gone.

Why standing still is not the goal

The honest version of the standing-desk research is that standing burns only slightly more energy than sitting, and that prolonged static standing brings its own complaints: tired feet, lower-back ache from locked knees and a tilted pelvis, pooling in the legs. The benefit people actually feel from a standing desk comes from the change, not the stance. Alternating between sitting and standing, and moving while standing, is what makes the day feel different by five o'clock.

That reframes the question. You do not need a standing-desk workout. You need a repertoire of two- or three-rep movements you can do without stepping away from the keyboard, without getting sweaty, and without having to remember them. Then you need something that prompts you at the right moment. The agent provides the moments; the list below provides the moves.

Eight movements that fit a standing desk and a thirty-second gap

  1. Calf raises. Feet hip-width, rise onto the balls of the feet, hold a second, lower slowly. Ten to fifteen reps. This is the single best antidote to the leg-pooling feeling of standing still, because the calves are the pump that moves blood back up.
  2. Hip hinges. Soft knees, hands on the desk edge, push the hips back until you feel the hamstrings, then stand tall. Eight reps. It resets the locked-knee, tilted-pelvis posture that standing desks encourage.
  3. Desk-edge squats. Hold the desk lightly, sit the hips back and down as far as is comfortable, drive back up. Six to ten reps. At a desk you can keep the chest up more easily than in a free squat, which is what makes it safe to do cold.
  4. Standing glute squeezes. Squeeze both glutes hard for five seconds, release. Five reps. Invisible on a video call, and it switches on the muscles that go quiet in both sitting and static standing.
  5. Shoulder blade pulls. Arms at your sides, pull the shoulder blades down and together, hold three seconds. Eight reps. This counters the forward-rounded shape of typing, which standing does nothing to fix on its own.
  6. Wall or desk push-ups. Hands on the desk edge, body straight, lower the chest to the desk and press away. Eight to twelve reps. Check the desk is stable first; a motorised desk at full height can wobble.
  7. Single-leg balance. Lift one foot an inch off the floor and hold for twenty seconds, then swap. Standing desks are the only place this feels natural during work, and it wakes up the ankles and hips that a static stance lets go to sleep.
  8. Overhead reach with a side bend. Reach both arms up, lean gently to one side, breathe, swap. Three each side. It is the one that makes you realise how long you have been holding your ribs down.

None of these is a workout on its own. Done at the start of a handful of agent runs across the afternoon, they add up to a day in which no joint stayed in one position for longer than about twenty minutes, which is roughly what the exercise-snacks research is pointing at.

Pacing across a day

The mistake is to do all eight every time the agent runs. By the tenth run you resent it, and by the twelfth you ignore it. A pacing that survives a real workday looks more like this:

  • Morning: when you first raise the desk, calf raises and hip hinges at the first run of the day. Two movements, under a minute.
  • Through the day: one movement per agent run, rotating through the list, and only when the run is long enough that you would otherwise be staring at the terminal. Short runs get nothing; that is fine.
  • Any time your feet or lower back complain: lower the desk and sit for twenty minutes. Alternating is the point. Standing through pain to earn the standing desk is how people end up abandoning it.
  • Late afternoon: a desk push-up set and the overhead reach, which are the two that most reliably wake you up.

Using the agent as the cue

The weakness of every list like the one above is memory. You will do it for three days and then forget, not because you stopped caring but because nothing in the environment reminded you. Timer apps try to be that reminder and fail for a predictable reason: they interrupt you when you are in the middle of something, so you dismiss them, and after enough dismissals you turn them off. We went through the comparison in NotchFit versus break-reminder apps.

An agent run is a better cue because it is a gap you did not schedule and cannot fill with typing. NotchFit hooks into Claude Code through a plugin and into Codex CLI through skills and hooks, and when a task starts the MacBook notch expands into a panel with a guided, animated exercise on the left and the agent's live progress on the right. The exercises come from a library of 239, 198 of them photo animations of real athletes, and bodyweight desk movements of exactly this kind are what it is built around. A rep or time countdown ring runs each set, with Done, Skip and Pause; a set starts only when you tap Start set, so a run that turns out to be ten seconds long never traps you mid-squat.

Two behaviours matter more at a standing desk than at a sitting one. First, a “Claude is done” or “needs permission” alert that arrives mid-set waits until the set ends, so you finish the calf raises rather than dropping to the keyboard halfway. Our post on why mid-set notifications wait explains the reasoning. Second, you can let the agent write the plan. Run /notchfit:plan in Claude Code or $notchfit-plan in Codex, answer its questions about fitness level, goal, equipment, days per week, minutes per day and injuries, and tell it you are at a standing desk with no equipment; it writes a weekly plan using only exercises the notch can animate, and there is an offline quick-plan generator in the app if you would rather not involve the model.

When a standing desk plus agent breaks is the wrong setup

Some honest limits. If your agent runs are mostly a few seconds long, for example a tight loop of small edits with instant feedback, there are no gaps to fill and a movement cue will feel like nagging; keep the desk raised, do the morning two, and rely on the sit-stand alternation instead. If you are on video calls most of the day, the visible movements, push-ups and squats, are off the table and you are down to the invisible ones: glute squeezes, shoulder blade pulls and calf raises under the desk line. And if standing itself hurts, in the feet, knees or lower back, the answer is a mat, better shoes and more sitting, not more exercises at the standing desk. NotchFit is a workout guide, not medical advice, and a persistent ache is a reason to see someone who is.

There is also a hardware limit worth saying plainly. NotchFit runs on macOS 14 or later and is built around the MacBook notch; on a Mac without one, a Mac mini or an iMac on a standing desk say, it shows a top-centre pill instead, which works but is less of a nudge. The pill-mode post covers that case.

The ten-minute setup

  1. Raise the desk, and set a rough rule for yourself: sit for twenty minutes whenever standing starts to bother you.
  2. Install NotchFit from the DMG you download from Whop after purchase, open Setup, click Install / update integrations, and restart any running Claude Code sessions. In Codex, run /hooks once and trust the NotchFit hooks.
  3. Run /notchfit:plan and say “standing desk, no equipment, five short sets a day” when it asks about equipment and time.
  4. Give the agent a real task. When the notch opens, tap Start set for the first movement, and let the done alert wait for you.
  5. After a week, look at the streak and the history heatmap in the app and adjust the plan down if you were skipping. A plan you do is better than a plan you admire.

The standing desk got you upright. The agent gives you the gaps. What is left is a list short enough to remember and a cue you cannot dismiss by habit, and that is a more realistic recipe for a day with movement in it than any amount of standing still.

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

/notchfit:plan Explained: How Claude Code or Codex Writes a Weekly Workout Plan the Notch Can Actually Run

8 min read

Claude Code Spinner Verbs Explained: What “Pondering” and “Brewing” Mean, How to Change Them, and Why You Should Stop Watching the Spinner

7 min read

Why NotchFit's Done and Permission Alerts Wait Until Your Set Ends, When That Costs You, and How to Turn the Workout Off

7 min read

How to Resume a Claude Code Session: --continue vs --resume, Naming Sessions, the Session Picker, Branching, and What Comes Back

9 min read

NotchFit on a Mac Without a Notch: How Pill Mode Works on Mac mini, iMac, Mac Studio and a MacBook With the Lid Closed

6 min read

How to Run a Claude Code Session in the Background: /background, claude --bg, Agent View, and Getting Back to It

9 min read

What a Notch App Can See: NotchFit's Local-First Design, What the Claude Code and Codex Hooks Send, and What Stays on Your Mac

7 min read

Why Codex CLI Asks for Permission Every Time, and How to Tune the Sandbox and Approval Policy Without Going Full Access

8 min read

What to Do While Claude Code or Codex Works: A Simple Protocol for the Two-to-Twenty-Minute Gap in Every Agent Run

7 min read

Is It Possible to Get a Notification When Claude Code or Codex Hits a Reset? Yes for Claude Code: the quota_auto_resume Hooks, Explained

8 min read

What a MacBook Notch App Can Actually Do: The Five Kinds of Notch Utility, Their Trade-offs, and Where NotchFit Fits

7 min read

How to Make MCP Servers Not Take Up as Much Context in Claude Code: Tool Search, alwaysLoad, Scopes and Output Caps

8 min read

The notchfit Command Line: Drive Your Workout, Read Status as JSON, Validate Plans and Test the Notch Without Leaving the Terminal

7 min read

How to Audit MCP Tool Calls Made by Claude Code: A Five-Minute Hook Audit Log, OpenTelemetry Tool Events, and the Transcript for Investigations

9 min read

Exercise Snacks: What the Research Actually Says About One-Minute Vigorous Breaks, What It Does Not, and How NotchFit's Agent-Run Sets Compare

8 min read

How Long Until a Claude Code MCP Tool Call Times Out? The Four Timers (Startup, Two-Minute Backgrounding, Idle, Wall-Clock), Their Defaults, and Which One to Change

8 min read

Sitting Too Long as a Developer: The Posture Problems Coding Agents Made Worse, What the Research Says About Breaking Up Sitting, and How NotchFit Turns an Agent Run Into the Break

8 min read

Claude Code .mcp.json Explained: Where Project-Scoped MCP Servers Are Read From, What Happens in Subfolders and Monorepos, and Why a Committed Server Shows Pending Approval

8 min read