- CLAUDE.md: add "Question the question" and "One clarifying question" rules to Tone and Interaction — XY problem detection, false premise checks, and explicit reframe pattern before answering - Add claude/ detail-file directory (topic docs referenced from CLAUDE.md) - Add ABOUT.md, FUTURE.md - Update memory/, scripts/, settings.yaml with accumulated session changes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.4 KiB
Status Line
A persistent bar at the bottom of Claude Code shows the current topic, model, and context usage: [Model Name] topic | N% context.
Setting the topic
After the user selects a project or describes their task (i.e., after the first response where the status line has had a chance to run), set the topic:
~/.claude/status/set-topic.sh "$(pwd)" "project-name: brief task description"
Examples:
~/.claude/status/set-topic.sh "$(pwd)" "brainiac-app: M2 web frontend"~/.claude/status/set-topic.sh "$(pwd)" "cluster-bootstrap: Cilium upgrade"~/.claude/status/set-topic.sh "$(pwd)" "General chat"
When to update
- Session start: set the topic once the user picks a project or task
- Focus change: update if the user shifts to a different project or task mid-session
- Keep it short: aim for
project: taskformat, under ~40 characters
How it works
The status line script (scripts/statusline.sh) runs after each assistant message. It writes the session ID to /tmp/claude-session-id-<md5 of cwd>, which set-topic.sh reads to find the correct per-session topic file at ~/.claude/status/<session-id>/claude-topic.txt.
Early calls are safe: if set-topic.sh is called before the status line has run (first message), the topic is queued to a pending file and automatically applied when the status line first runs after the next response.