Boris created Claude Code at Anthropic. When asked how he uses it, he shared 13 practical tips from his daily workflow. His setup is "surprisingly vanilla" — proof that CC works great out of the box.
@bcherny's original threadBoris runs 5 instances of Claude Code simultaneously in his terminal using 5 separate git checkouts of the same repo. He numbers his tabs 1-5 for easy reference and uses system notifications to know when any Claude needs input.
Beyond the terminal, Boris runs 5-10 additional sessions on claude.ai/code. He fluidly hands off between local and web using the & command or --teleport flag.
He also kicks off sessions from his phone via the Claude iOS app in the morning, then picks them up on his computer later.
& — Background a session--teleport — Switch contexts between local and web
Boris uses Opus 4.5 with thinking mode for every task. His reasoning:
The takeaway: less steering + better tool use = faster overall results, even with a larger model.
View original postThe team shares a single CLAUDE.md file for the Claude Code repo, checked into git. The whole team contributes multiple times a week.
During code review, Boris tags @.claude on PRs to add learnings to the CLAUDE.md as part of the PR itself.
They use the Claude Code GitHub Action (/install-github-action) for this. Boris calls it their version of "Compounding Engineering" — inspired by Dan Shipper's concept.
Most sessions start in Plan mode (shift+tab twice). Boris iterates on the plan with Claude until it's solid, then switches to auto-accept mode.
"A good plan is really important to avoid issues down the line."
View original postBoris uses slash commands for workflows he does many times a day. This saves repeated prompting, and Claude can use them too.
Commands are checked into git under .claude/commands/ and shared with the team.
Boris thinks of subagents as automations for the most common PR workflows:
The team uses a PostToolUse hook to auto-format Claude's code. While Claude generates well-formatted code 90% of the time, the hook catches edge cases to prevent CI failures.
Instead of --dangerously-skip-permissions, Boris uses /permissions to pre-allow common safe commands. Most are shared in .claude/settings.json.
Claude Code uses all of Boris's tools autonomously:
For very long-running tasks, Boris ensures Claude can work uninterrupted:
For sandboxed environments, he'll use --permission-mode=dontAsk or --dangerously-skip-permissions to avoid blocks.
This is Boris's #1 tip:
For his own changes to claude.ai/code, Claude uses the Claude Chrome extension to open a browser, test UI changes, and iterate until it works perfectly.
Verification varies by domain: Bash commands, test suites, simulators, browser testing, etc. The key is giving Claude a way to close the feedback loop.