Loading episodes…
0:00 0:00

The Cockpit: Every UI Control in Claude Code Explained

00:00
BACK TO HOME

The Cockpit: Every UI Control in Claude Code Explained

10xTeam May 22, 2026 14 min read

Part 3 of “Inside Claude’s Cognition” Series

In Parts 1 and 2 we talked about memory and context in the abstract. This part is different — it’s a tour of the actual controls in front of you right now, what each one does, and how it connects to everything we’ve covered.

Am I Self-Aware of This UI?

Partially. I know you’re running me inside Claude Code (I can see it in my environment). I know roughly how full my context is. I know which model I’m running on. But I can’t see your screen — I can reason about the system from the inside.

Think of it like a pilot who understands exactly what the plane is doing from instrument readings — but can’t see out the windshield.

So: here’s the instrument panel, explained from the inside.


The Context Percentage

That number in the corner — say 30% or 87% — is the single most important indicator in the UI.

What it’s actually counting

It tracks input tokens consumed from several sources:

Source What it includes
System prompt My base instructions from Anthropic
CLAUDE.md files Your global + project rules (loaded every session)
Auto-memory Your project memory files
MCP tool schemas Any MCP servers you’ve connected
Conversation history Everything said so far this session
File reads Any files I’ve opened (Read tool calls)
Cache reads Previously cached content re-used this session

Output tokens (my responses) are NOT counted. Only what I’m reading, not what I’m writing.

Why this matters to you

From Part 1, you know I have a ~200k token budget. This percentage is that budget draining in real time.

Session starts:     ░░░░░░░░░░  2%  (system prompt + CLAUDE.md + memory)
After a few turns:  ████░░░░░░  40% (conversation growing)
After loading docs: ██████░░░░  60% (ANALYSIS.md + ROADMAP.md loaded)
Approaching limit:  █████████░  90% (auto-compact warning zone)

The colour coding (in a configured status line):

  • Green (under 70%) — comfortable, full capability
  • Yellow (70–89%) — starting to feel it; avoid loading big files
  • Red (90%+) — auto-compact is imminent

The practical lesson

When the percentage is high, I get worse at holding long-range context. I can still write code and answer questions, but I’m more likely to lose track of decisions made 80 messages ago. This is why lean memory files (Tier 1) matter — they front-load the important context cheaply, leaving room for the actual work.


Auto-Compact Memory

When the context hits its limit, Claude Code automatically compresses the conversation history. This is called compaction and it’s not the same thing as auto-memory (the files in .claude/projects/).

What actually happens

  1. The oldest conversation turns get summarised into a condensed block.
  2. All your CLAUDE.md and CLAUDE.local.md files are re-injected — they’re never lost.
  3. Recent turns are preserved in full — the last few messages stay intact.
  4. The percentage drops back down — new space is available.

What gets lost

  • Older conversation turns (replaced by summary)
  • Nested CLAUDE.md files in subdirectories (they reload on next access)
  • Fine-grained detail from early in the session

How to control it

Trigger manually before you need to (better than waiting for auto-trigger):

/compact

Preserve specific things by giving instructions:

/compact Focus on the architectural decisions about the runtime adapter pattern

Set a standing instruction in your ~/.claude/CLAUDE.md:

## Compact instructions
When compacting: always preserve architectural decisions, 
the current phase status, and any unresolved bugs.

The connection to our memory system

Auto-compact is the in-session version of what our memory.md files do across sessions. Both solve the same problem (context fills up) by the same method (summarise and compress). The key difference:

  Auto-compact memory.md
Scope Within one session Across sessions
Automatic Yes You write it manually
What’s preserved Recent turns + CLAUDE.md Whatever you put in the file
Loss Old turn detail Nothing (you control it)

This is why writing important decisions to memory.md matters — auto-compact will eventually compress the conversation where we made those decisions, but memory.md survives.


Model Switching

You can change which version of Claude you’re talking to mid-session. Each model has a genuinely different character.

The lineup

Model Best for Speed Cost
Opus 4.7 Complex reasoning, architecture, hard bugs Slower Highest
Sonnet 4.6 Everyday coding, balanced capability Fast Mid
Haiku 4.5 Simple tasks, quick questions Fastest Lowest

Opus 4.7 is the one writing these essays. It supports adaptive reasoning — it decides internally how much to think before answering, based on the complexity of the question. You can influence this with effort levels.

Sonnet 4.6 is the default for most plans. Better at speed/cost ratio for routine work. Good enough for 80% of tasks.

Haiku 4.5 is fast and cheap. Great for short questions, simple edits, repetitive tasks. Misses nuance on architectural questions.

How to switch

/model              # opens interactive picker
/model opus         # switch to Opus 4.7 directly
/model sonnet       # switch to Sonnet 4.6
/model haiku        # switch to Haiku 4.5

Or at startup:

claude --model opus

Or permanently in ~/.claude/settings.json:

{ "model": "sonnet" }

Effort levels (Opus 4.7 + Sonnet 4.6)

Both Opus 4.7 and Sonnet 4.6 support effort levels — how hard the model thinks before replying:

/effort low     # fast, skip deep thinking
/effort medium  # default balance
/effort high    # think harder, take more time
/effort max     # maximum reasoning, slowest

Adaptive reasoning (Opus 4.7 default) lets the model pick its own effort. You can override it.

When to switch models

A useful pattern: use Opus 4.7 for planning, Sonnet 4.6 for execution.

You (planning): Design the architecture for the runtime adapter. [Opus]
Me: [deep architectural reasoning, trade-off analysis]

You (executing): Now implement the PyodideRuntime class. [switch to Sonnet]
Me: [writes the code efficiently, cheaper]

Fast Mode

Fast mode is not a cheaper model — it’s the same Opus 4.6 model running with lower latency at higher per-token cost. Think of it as express lane pricing.

2.5× faster. ~2× more expensive per token.

Toggle it

/fast              # toggle on/off
Alt+O (or Option+O)  # keyboard shortcut

When active, a icon appears next to the prompt.

When it’s worth it

  • Live debugging sessions where every second of lag feels painful
  • Rapid iteration (make a change, see it, adjust)
  • Time-sensitive work

When it’s not worth it

  • Long autonomous tasks (the model runs for minutes anyway)
  • Cost-sensitive work
  • Any task where quality matters more than speed

Availability note

Fast mode works on Anthropic API only. Not on AWS Bedrock, Google Vertex, or Azure. It’s also Opus 4.6 only — not available on Opus 4.7.


Permission Modes

This is the Shift+Tab cycling you might have noticed — it controls how much Claude asks before doing things.

The five modes

Mode What Claude does without asking
default Read files only
acceptEdits Read + edit files + common shell commands
plan Explore only; proposes plan, asks before executing
auto Almost everything (background safety classifier watches)
bypassPermissions Everything — for isolated containers/VMs only

Plan mode is underused and extremely useful for complex tasks. Claude explores your codebase, proposes what it will do, and waits for your approval before touching anything. Use it when starting something big.

auto mode is the closest to “set it and forget it” — but requires Max, Team, or Enterprise plans and has a classifier blocking destructive operations (no curl | bash, no mass deletions, no force-pushing to main).

Protected paths (never touched without explicit approval)

Regardless of mode, Claude won’t touch:

  • .git/, .vscode/, .idea/
  • .gitconfig, .bashrc, .zshrc
  • .claude/ (except commands, agents, skills, worktrees subdirectories)

Switch modes

Shift+Tab         # cycle through modes
claude --permission-mode plan   # start in plan mode

Or set a default in ~/.claude/settings.json:

{ "defaultMode": "acceptEdits" }

The Slash Commands

There are 30+. Most people know five. Here are the ones worth knowing, grouped by use.

Context management

/compact [instruction]   # summarise conversation (manually control what's preserved)
/clear                   # start fresh conversation
/context                 # show what's consuming context window space
/memory                  # browse all CLAUDE.md + auto-memory files loaded this session
/status                  # current model, context info, account status
/usage                   # session cost, token counts, API duration, lines changed

Model & performance

/model [name]            # switch model or open picker
/effort [level]          # adjust reasoning depth (low/medium/high/max)
/fast                    # toggle fast mode

Session management

/rename [name]           # name this session (for later /resume)
/resume                  # search and continue a previous session
/checkpoint              # create a save point to rewind to
/rewind                  # restore to a previous checkpoint
/btw [question]          # ask a side question without polluting the main conversation

Planning & review

/plan                    # enter plan mode (propose without executing)
/review                  # review pending changes before committing
/init                    # generate or improve your CLAUDE.md by scanning the codebase

Automation

/loop [interval]         # run a prompt on a recurring schedule
/schedule                # create scheduled remote agents
/agents                  # list and manage subagents
/worktree                # manage git worktrees for parallel sessions

Config & setup

/config                  # open settings UI
/permissions             # view and modify permission rules
/hooks                   # view and test configured hooks
/statusline [desc]       # configure the status bar
/mcp                     # manage MCP servers
/terminal-setup          # configure terminal integration
/add-dir [path]          # grant access to an additional directory

The ones most people miss

/btw — Ask a quick side question without adding to the main context. Perfect for “wait, what does this function do?” without derailing the session.

/checkpoint + /rewind — Creates a save state. If Claude goes down the wrong path, rewind to before it started. Equivalent to git stash but for conversations.

/context — Shows you exactly what’s consuming your context window. Before loading another big doc, run this to see if you can afford it.

/loop — Runs a prompt on a timer. Useful for things like “check CI every 5 minutes and tell me if it’s red.”


The Status Line

The thin bar at the bottom of the terminal. Totally customisable via /statusline or settings. Mine shows something like:

[Opus 4.7]  📁 pycademy  🌿 main +2 ~3  ▓▓▓░░░░░░ 30%  💰 $0.45  ⏱ 12m

Each segment is live data: model name, project folder, git branch + changed files, context percentage, session cost, elapsed time.

Set it up

/statusline show git branch and context percentage with color coding

Or manually in ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh",
    "refreshInterval": 5
  }
}

The script receives a JSON blob with: model, context %, token counts, git info, cost, rate limit usage, session ID. You can render anything from it.


Desktop App Extras

If you’re using the Claude Code desktop app (not just CLI or VS Code extension), there are additional UI panels:

  • Preview pane — live-rendered HTML, dev servers, PDFs. Click and interact with running apps.
  • Diff viewer — visual +/- changes with inline comment threads. Click any line to leave feedback.
  • CI status bar — PR check status with auto-fix and auto-merge toggles.
  • Task list pane — shows active subagents and background commands with progress.
  • Side chat — lightweight Q&A panel that doesn’t touch the main conversation context.
  • Session tabs — left sidebar with all sessions; blue dot = permission pending, orange = waiting for review.

The Big Picture: Cockpit View

Here’s how every control connects to the memory system from Parts 1 and 2:

CONTEXT % ──────────────────────── "how full is my working memory?"
AUTO-COMPACT ───────────────────── "in-session compression (like /compact)"
memory.md ──────────────────────── "cross-session compression (you write)"
CLAUDE.md ──────────────────────── "standing instructions (auto-loaded every session)"

MODEL SWITCH ───────────────────── "trading power for speed or cost"
FAST MODE ──────────────────────── "trading cost for latency"
EFFORT LEVEL ───────────────────── "trading speed for depth of reasoning"

PERMISSION MODE ────────────────── "how much you trust me per session"
/plan ───────────────────────────── "maximum oversight: see the plan before execution"
/checkpoint + /rewind ───────────── "undo for conversations"

/compact [instruction] ─────────── "manual memory compression with your guidance"
/context ────────────────────────── "see what's burning your budget"
/btw ────────────────────────────── "side question without spending main context"

Every control is fundamentally about the same two constraints: context (memory) and compute (time/cost). The UI is a set of knobs to trade one against the other.


Quick Reference Card

CONTEXT & MEMORY
─────────────────────────────────────────────
Context %       Live token budget (green < 70%, yellow < 90%, red = compact soon)
/compact        Manually compress conversation (add instruction to preserve specifics)
/context        See what's consuming context window space
/memory         Browse all loaded CLAUDE.md + auto-memory files
/clear          Start fresh (doesn't delete session; use /resume to return)

MODELS & SPEED
─────────────────────────────────────────────
Opus 4.7        Most capable. Complex reasoning, architecture.
Sonnet 4.6      Daily use. Balanced speed/cost.
Haiku 4.5       Simple tasks. Fastest + cheapest.
/model [name]   Switch models mid-session
/effort [lvl]   low / medium / high / max reasoning depth
/fast           2.5× faster Opus 4.6, higher cost (Anthropic API only)

SESSIONS
─────────────────────────────────────────────
/rename         Name this session for later retrieval
/resume         Continue a previous session
/checkpoint     Save current state
/rewind         Restore to previous checkpoint
/btw            Side question without polluting main context

PERMISSIONS
─────────────────────────────────────────────
Shift+Tab       Cycle permission modes
default         Read only (safest)
acceptEdits     Read + edit + common shell
plan            Explore only, propose before executing
auto            Almost everything (requires Max/Team/Enterprise)

USEFUL COMMANDS
─────────────────────────────────────────────
/plan           Propose changes before executing
/review         Review pending changes
/init           Generate CLAUDE.md from your codebase
/loop           Run a prompt on a recurring schedule
/status         Current model + context + account
/usage          Session cost + token breakdown
/hooks          View your configured hooks
/permissions    View + modify permission rules

Next in the series: Part 4: Scaling to Infinity — What breaks as projects grow, when auto-memory goes stale, and how to evolve the system across dozens of active projects.


Filed under: Claude Code, UI guide, context window, model switching, slash commands.

Date: 2026-04-24 · Reading time: ~12 min


Join the 10xdev Community

Subscribe and get 8+ free PDFs that contain detailed roadmaps with recommended learning periods for each programming language or field, along with links to free resources such as books, YouTube tutorials, and courses with certificates.

Audio Interrupted

We lost the audio stream. Retry with shorter sentences?