Blog · November 6, 2026 · 6 min read · by Vilva Athiban P B

Hunched Over the Keyboard? Upper-Back (Thoracic) Stretches for Developers: A Two-Minute Seated Routine Between Agent Runs

The neck and shoulder routine in this series worked on the top of the chain and the hip and lower back routine on the bottom. This one is for the section in between: the thoracic spine, the twelve vertebrae the ribs attach to, which is what you round when you lean into a terminal to read a diff. Everything here is done from the chair, which makes it the easiest routine in the series to run while Claude Code or Codex works.

Why the mid-back stiffens at a desk

Sit for a long time and the pelvis tips back, the upper back rounds to keep the eyes level with the screen, the head drifts forward and the shoulders roll in around the keyboard. The thoracic spine spends the day flexed and almost never extends, bends sideways or rotates, while the muscles between the shoulder blades hold a long, slow stretch and the chest shortens. The routine below simply takes the mid-back through the three movements the chair never asks of it.

Where the moves come from, and what we changed

The source is one public leaflet: Cambridge University Hospitals’ Thoracic spine exercises (cuh.nhs.uk/patient-information/thoracic-spine-exercises, approved 16 July 2024, version 4, document 21670). It describes eight exercises, four seated and four on the floor. Two caveats. The leaflet leaves repetition counts blank for a physiotherapist to fill in, so the counts below are this post’s own gentle suggestions, not CUH’s. And it says to do the exercises as directed by a physiotherapist, that it is a guide only, and to seek advice from a physiotherapist or GP if any exercise is painful. We keep that as written.

The two-minute seated routine

Push the chair back from the desk, sit upright with feet flat on the floor, breathe normally, and move slowly to a comfortable stretch, never to pain. Keep the lower back quiet so the movement happens in the mid-back rather than below it.

  1. Chin-to-chest flexion (5 slow reps, about 25 seconds). Sitting tall, drop the chin to the chest and let the upper trunk round forward, head and shoulders relaxed. Pause for a breath at the bottom, then unroll to upright. It is the shape the day already puts you in; the next move reverses it.
  2. Extension over the chair back (5 reps, about 30 seconds). This needs a high-backed chair. Sit with the top of the backrest roughly level with the shoulder blades, hands behind the head or crossed on the chest, and lean back so the spine above the chair back extends over it. Hold for a breath and return. The pivot is the chair edge, not the lower back. On a stool or a low-backed chair, skip this move rather than improvise it.
  3. Sideways bend (4 reps each side, about 30 seconds). Sit sideways on the chair with a cushion between your side and the chair back, hands behind the neck or crossed on the chest, and bend sideways over the cushion so the bend happens in the ribs rather than the waist. Turn round and repeat on the other side.
  4. Trunk rotation (5 reps each side, about 30 seconds). Arms crossed over the chest, hands on opposite shoulders, rotate the trunk to one side as far as is comfortable, back to the middle, then to the other side. Keep the hips facing forward so the turn comes from the mid-back, and let the head follow the chest.

That is roughly two minutes at a slow pace. On a long run, repeat the extension and rotation; those are the two the chair undoes fastest.

An optional floor pair for the evening

Two of the leaflet’s floor exercises make a good end-of-day pair. Arch and hollow (cat-camel): on hands and knees, elbows straight and neck long, arch the spine up with the head relaxed between the arms, then let the back drop to hollow the mid-back; six slow cycles. Mid-back extension over a rolled towel, lying on your back with the roll between the shoulder blades, hands behind the neck and elbows up: take a deep breath and move the elbows apart and down toward the floor, four or five breaths. Again, the counts are ours.

Cueing it off agent runs

The trick is to start at the beginning of the gap rather than when you remember. The usual cue is the terminal starting to scroll tool calls: push the chair back then. With NotchFit the cue is the notch itself opening when a Claude Code or Codex task starts, and a “Claude is done” or “needs permission” notification marks the end of the gap. The longer case for taking the break at all is in the sitting too long post.

When not to do this

If you have acute back or chest pain, a recent injury to the back, ribs or shoulders, or any dizziness when you lean back or turn the head, see a physiotherapist or GP before doing any of this. The leaflet’s rule applies throughout: it is a guide only, and if an exercise is painful, stop and seek advice. Mild stiffness that eases as you move is normal after an hour in a chair; sharp pain, pain that builds as you hold, or pins and needles into an arm are not. The extension move needs a high-backed chair; on a stool it becomes an unsupported backbend, so leave it out. This is not medical advice.

Where NotchFit fits

NotchFit is the $20 one-time macOS app (macOS 14 or later, Apple Silicon and Intel, sold on Whop) for developers who use Claude Code or OpenAI Codex CLI. When your agent starts a task, the MacBook notch expands into a panel with an animated exercise on the left and the AI’s live progress on the right, with a rep and time countdown ring and Done, Skip and Pause, which matters when five slow reps are easy to turn into two quick ones while reading a diff. Every set starts only when you tap Start set, and a done or permission alert that arrives mid-set waits until the set ends. The weekly plan is written by your own agent: /notchfit:plan in Claude Code or $notchfit-plan in Codex asks about your goal, equipment, days, minutes and injuries, then writes a plan from the 239 exercises the notch can animate. We have not checked whether the library holds these four moves under the leaflet’s names, so treat the routine as a manual add-on for the rest timer. Macs without a notch get a top-centre pill, the user guide covers setup, and it runs locally. It is a workout guide, not medical advice.

FAQ

Can I do this at a standing desk?

Flexion, the sideways bend and rotation work standing with feet hip-width apart. The extension needs the chair back as a pivot, so sit down for that one or skip it.

How often should I run it?

Once per long agent run is plenty; this is about moving the mid-back through its range, not building anything.

Should it hurt?

No. A comfortable stretch, not pain. The leaflet says to seek advice from a physiotherapist or GP if any exercise is painful, and so do we.

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

Discreet Desk Exercises for an Open-Plan Office While Claude Code Runs

7 min read

claude remote-control Server Mode: Run Claude Code as a Session Server

9 min read

Wrist and Forearm Stretches for Developers: A 60-Second Routine for Every Claude Code Run

7 min read

Claude Remote Control vs Claude Code on the Web: Which to Use and How They Differ

9 min read

Neck and Shoulder Stretches for Developers: A 90-Second Routine Between Agent Runs

7 min read

What Happens When You Step Away From a Claude Code Session: Prompt Cache Expiry, Idle Compaction, and When to Come Back

8 min read

Hip Flexor and Lower Back Stretches for Developers: A Two-Minute Standing Routine Between Agent Runs

7 min read

Claude Code's Monitor Tool: Watch Logs, CI Runs and PRs (Even a WebSocket) and Let Claude React While You Keep Working

7 min read

Claude Code Ultrareview: The 15–25 Minute Cloud Review, What to Do While It Runs, and How the Findings Come Back

8 min read

Why Your Legs Go Dead After a Long Claude Code Session: A Two-Minute Standing Calf, Glute and Hamstring Routine Between Agent Runs

7 min read

claude --teleport: Pull a Cloud Session Into Your Terminal, Start One With --cloud, Send Follow-Ups From the CLI, and the Requirements That Trip People Up

8 min read

Rounded Shoulders From Typing? A Two-Minute Chest Opener, Chair Twist and Wall Press Desk Routine for Developers Between Agent Runs

7 min read

Claude Code ultrathink Explained: It Now Runs the Turn at xhigh Effort, How It Differs From /effort, What It Costs in Time, and What to Do While It Runs

7 min read

Best Break Reminder Apps for Mac in 2026: Time Out, Stretchly, BreakTimer, LookAway and NotchFit Compared

7 min read

Claude Code 2.1.319: denyInsteadOfPrompting, MCP Background Tasks and What Changes for Unattended Runs and Notifications

8 min read

Drink Water and Stand Up Cues for Developers: Use Claude Code Agent Runs as Hydration and Standing Reminders

7 min read

Claude Code 2.1.323: Code Mode, Progress Heartbeat, Auto-Mode Fallback and 1M Context — What Changed for Unattended Runs

9 min read

Notch Media Controls on a Mac: What the MacBook Notch Can and Cannot Do, Dynamic Island-Style Apps vs NotchFit

7 min read