Blog · October 25, 2026 · 7 min read · by Vilva Athiban P B
Discreet Desk Exercises for an Open-Plan Office While Claude Code Runs
Most advice about moving during agent runs quietly assumes you work from home. Drop and do ten push-ups while Claude Code refactors the auth module; a set of squats while Codex runs the test suite. That is fine in a spare bedroom. In an open-plan office with forty people, a glass meeting room behind you and a sales team that notices everything, it is a different proposition. Nobody wants to be the person doing lunges by the printer, and so the movement break that was going to happen never does, and the eight-hour sit wins again.
This post is the open-plan version of our desk exercises for programmers and the follow-up on sitting too long and posture: the same idea, that every agent run is a free gap, applied to a room where you would rather not be watched. It sorts the moves into three tiers by how visible they are, matches each tier to how long a run usually takes, and is honest about the etiquette and about where an app like NotchFit does and does not help.
The social problem, stated plainly
The obstacle is not the exercise; it is the audience. Three things make office movement awkward: it is visible, it can be audible, and it can leave you sweaty in a room without a shower. The fix is not to stop caring what colleagues think, which is advice nobody follows, but to pick moves that clear all three bars for the situation you are in. A seated calf raise under the desk clears every one. A set of burpees clears none. Most useful moves sit in between, and the trick is knowing which to reach for when the terminal says Claude has started a task that will take a while.
Tier one: invisible at the desk
These can be done while apparently reading the agent’s output. Nobody across the desk can tell, and they fit the one- to three-minute runs that make up most of a day.
- Seated glute squeezes. Squeeze hard for five seconds, release, ten times. Wakes up muscles that go to sleep in a chair and nobody will ever know.
- Calf raises under the desk. Heels up, hold two seconds, down. Fifteen to twenty. These move blood out of the lower legs, which is the whole point of breaking up sitting.
- Ankle circles. Ten each way, each foot. Trivial, silent, and good for anyone whose ankles feel stiff by four in the afternoon.
- Shoulder blade squeezes. Pull the shoulder blades together and down, hold five seconds, ten times. The direct antidote to the rounded-forward hunch of reading a terminal.
- Chin tucks. Slide the head straight back as if making a double chin, hold three seconds, ten times. Counteracts forward head posture; looks like you are thinking.
- Wrist and forearm stretches. Arm out, palm up, gently pull the fingers back with the other hand for twenty seconds; then palm down. Typing-adjacent and completely unremarkable.
- Seated spinal twist. Hand on the opposite knee, turn gently, hold twenty seconds each side. Reads as stretching in your chair, which everyone does.
- Isometric core brace. Sit tall, brace as if about to be nudged, hold ten seconds, breathe, repeat five times. Invisible and surprisingly tiring.
Tier two: low-key standing moves
Standing up at your desk is normal in any office that has sit-stand desks or a water cooler. Use that cover for moves that are obviously movement if someone stares, but not odd enough to be noticed. These suit the five- to ten-minute runs: a build, a test suite, a multi-file refactor.
- Standing calf raises while you wait for the kettle or the coffee machine. Twenty, slow.
- Hip hinges. Feet hip-width, soft knees, push the hips back with a flat back as if closing a drawer with your backside, stand tall. Ten to fifteen. Looks like stretching your back, which it is.
- Sit-to-stand squats. Lower yourself to the chair slowly, hover a centimetre above it, stand. Eight to ten. Every office contains people standing up and sitting down; nobody counts.
- Doorframe chest stretch on the way to the kitchen: forearms on either side of a doorway, lean through gently for twenty seconds. Pick a doorway people do not need to walk through.
Tier three: go somewhere
For the long runs, the twenty-minute migration or the agent working through a backlog of lint errors, leave the desk. Take the stairs two floors down and back. Walk to the far printer, or to the kitchen on another floor. If there is a free meeting room, five minutes of proper stretching with the door closed is the best movement you will get all day, and a meeting room with the blinds down is the one place in an open-plan office where the social cost drops to zero. If your office has a bike store or a quiet stairwell, that works too.
Etiquette: noise, smell and timing
Three rules keep this sustainable. First, nothing that makes noise: no jumping, no dropping into a plank beside someone on a call, and if an app speaks to you, mute it. Second, nothing that makes you sweat before a meeting; tier three is for the morning or the end of the day, not the half hour before a customer demo. Third, read the room. Some teams will join in and some will not, and the quiet version is the one that survives a room that does not. If you want company, say what you are doing once, lightly, and let people opt in.
Matching the tier to the run
| Run length | Typical task | What to do |
|---|---|---|
| Under 3 minutes | Small edit, a test file, a question | One or two tier-one moves, seated |
| 3 to 10 minutes | Build, test suite, multi-file change | Stand; a tier-two move plus a walk to refill water |
| Over 10 minutes | Migration, large refactor, batch of fixes | Leave the desk: stairs, a meeting-room stretch |
The point of tying the move to the run is that you stop deciding. The agent starting a task is the cue; the length of the task picks the tier. Over a day of twenty or thirty runs that adds up to far more movement than one gym session you were going to skip anyway.
A quiet week
If you like structure: Monday and Thursday are lower-body days (calf raises, hip hinges, sit-to-stand squats, stairs). Tuesday and Friday are upper-body and posture days (shoulder blade squeezes, chin tucks, wrist stretches, doorframe stretch). Wednesday is the long-walk day, where every run over ten minutes means a lap of the building. None of it requires equipment, a change of clothes or anyone noticing. The companion post on standing desk exercises has more for the days you are at a raised desk.
Where NotchFit fits, and where it does not
NotchFit is a $20 one-time macOS menu bar and notch app for developers who use Claude Code or OpenAI Codex CLI. When your agent starts a task, the MacBook notch expands into a panel with a guided animated exercise on the left and the agent’s live progress on the right, and it tells you when the agent is done or needs permission. In an office, three details matter. The library is 239 animated exercises, 198 of them photo animations of real athletes and about forty illustrated moves, so there is plenty to choose from that does not involve jumping. The weekly plan is written by Claude Code (/notchfit:plan) or Codex ($notchfit-plan) after asking about your goal, equipment, fitness level, injuries, days per week and minutes per day, which means you can ask for a plan built from quiet, seated or standing moves and no equipment; there is no dedicated office mode, but the plan prompt is where you steer it. And the optional spoken alerts use on-device macOS voices with a mute button: mute them, and the notch stays silent while the rep ring counts down.
The rest of the design suits a shared room. Sets start only when you tap Start set, so nothing launches while a colleague is at your desk, and a “Claude is done” alert that arrives mid-set waits until the set ends. There are streaks, a history heatmap and confetti when you finish, an offline quick-plan generator if you do not want the AI to write the plan, and a Hide workout toggle that turns the notch into a pure status panel for days when movement is off the table. It runs locally on your Mac with no account, no telemetry and no microphone, the hooks run asynchronously so the agent is never slowed, and it needs macOS 14 or later on Apple Silicon or Intel; Macs without a notch get a top-centre pill instead. It is sold on Whop as a signed and notarized DMG, with no trial and no license key.
Where it does not help: it cannot make the office less open. The animation on the notch is visible to anyone standing behind you, so the panel itself is a small giveaway; if that bothers you, the quietest tier-one moves need no app at all, and the Hide workout toggle exists for exactly that mood.
When not to do any of this
If you have an injury, pain that changes with movement, or a condition your doctor has given you rules for, follow those rules and not a blog post. If your workplace has policies about exercising at desks, or your role involves being camera-ready at short notice, pick the invisible tier and leave it there. NotchFit is a workout guide, not medical advice, and the moves above are the ordinary, low-load ones that most people can do; the moment one of them hurts, stop.
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
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
8 min read
The claude mcp Command Reference: add Syntax by Transport, What --scope local, project and user Actually Mean, add-json and add-from-claude-desktop, list, get, remove, login and serve
9 min read
Your First Week With NotchFit: Install and Simulate, Run Real Tasks, Write a Smaller Plan Than You Want, Tune the Alerts, Survive the First Skipped Day, and Decide What Stays
8 min read
How to Stop a Running Claude Code Task: Esc vs Ctrl+C, Background Tasks, Subagents, and Disconnecting Remote Control
8 min read
Pomodoro vs Agent-Driven Breaks: Timing Movement to Claude Code and Codex Runs Instead of a Timer
7 min read
Claude Desktop MCP Configuration: claude_desktop_config.json, Logs, Extensions, and the Difference From Claude Code
9 min read
The 20-20-20 Rule for Developers: Eye Strain, the Evidence, and Agent Runs as the Cue
8 min read
Claude Agent SDK + MCP Servers: mcpServers, allowedTools, Status Checks and Auth
9 min read