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 lengthTypical taskWhat to do
Under 3 minutesSmall edit, a test file, a questionOne or two tier-one moves, seated
3 to 10 minutesBuild, test suite, multi-file changeStand; a tier-two move plus a walk to refill water
Over 10 minutesMigration, large refactor, batch of fixesLeave 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