The Claude Code Creator's 15 Power Features Most Developers Never Use
Boris Cherny built Claude Code. He runs 10-15 concurrent sessions daily, codes by voice from his phone, and automates entire PR review cycles while he sleeps. Most developers using Claude Code are barely scratching the surface of what it can do — and the creator just told everyone exactly what they're missing.
Claude Code is Anthropic's agentic coding tool that reads your codebase, edits files, runs commands, and integrates with your development environment across terminal, IDE, desktop, mobile, and web interfaces.
TL;DR
- Boris Cherny, the creator of Claude Code at Anthropic, shared 15 underutilized features in a viral thread
- Session teleporting and remote control let you seamlessly move work between phone, desktop, and terminal
- The /batch command fans out massive code migrations across dozens of parallel worktree agents
- Hooks give you deterministic control over Claude's lifecycle — auto-approve, block, or modify any action
- Custom agents with --agent let you define specialized personas with their own system prompts and tool access
Who Is Boris Cherny and Why You Should Listen
Boris Cherny is the engineer at Anthropic who created Claude Code. In early 2026, he published a series of threads on X (formerly Twitter) breaking down how he and the Claude Code team actually use the tool day-to-day. The threads collectively featured over 40 tips, but 15 specific features stood out — features that most developers either don't know exist or haven't figured out how to use properly.
What makes these tips different from the typical "10 AI coding tricks" post is the source. This isn't a tech blogger summarizing release notes. This is the person who designed the tool explaining which features his own team relies on most.
His setup is surprisingly vanilla, as he puts it. Claude Code works great out of the box. But the features he highlights unlock a completely different tier of productivity — one where you're running parallel agents across worktrees, automating recurring tasks on schedules, and coding by voice from your couch. If you've already set up a CLAUDE.md file to optimize your workflow, these 15 features are the natural next step.
Let's break down all 15.
Work From Anywhere: Mobile, Teleport, and Remote Control
Three of Boris's featured capabilities solve the same core problem: your coding workflow shouldn't be chained to one device.
Mobile App Support
Claude Code has a dedicated mobile app for iOS and Android. You can write and edit code directly from the Code tab without a laptop. This isn't a watered-down companion app — it connects to the same underlying Claude Code engine, so your CLAUDE.md files, settings, and MCP servers work across all surfaces.
Boris starts sessions from his phone in the morning and checks back on them throughout the day. That's not a gimmick — it's a workflow pattern where you kick off long-running tasks from wherever you are.
Session Teleporting
The /teleport command (or claude --teleport from CLI) lets you pull a cloud session down to your local terminal. When you run it, Claude automatically verifies your repository state, pulls and switches to the remote session's branch, and loads the complete conversation history. You pick up exactly where Claude left off — all context, all results, no manual syncing.
The practical use case: start a task on the web or mobile, let it run, then teleport it to your terminal when you're ready to review and iterate locally.
Remote Control
If teleporting moves a session to you, remote control lets you reach into a session from anywhere. Use /remote-control to control a local terminal session from your phone or any browser through claude.ai/code or the Claude mobile app. Enable it globally in /config so it's always available.
Boris describes running 10-15 concurrent sessions: 5 in the terminal with OS notifications, 5-10 in the browser, plus mobile sessions he starts and checks on throughout the day. Remote control is the glue that makes that workflow possible.
Enable remote control globally in /config so you don't have to activate it per-session. Once enabled, any local session becomes accessible from your phone or browser immediately.
Parallel Work at Scale: Worktrees, /batch, /branch, and /btw
This is where Claude Code stops being "a chatbot that writes code" and starts being a genuine force multiplier. Boris and the Claude Code team consider parallel work across git worktrees the single biggest productivity unlock.
Git Worktrees Support
Claude Code has deep built-in support for git worktrees. Start with claude -w (or the worktree checkbox in the Desktop app), and Claude creates an isolated working directory with its own branch — all sharing the same repository history.
You can spin up 3-5 worktrees at once, each running its own Claude session in parallel. One is building a feature, another is fixing a bug, a third is writing tests — and none of them step on each other's changes. Worktrees are created at [repo]/.claude/worktrees/[name] and branch from your default remote branch.
For custom version control systems, configure a WorktreeCreate hook to replace the default git behavior entirely.
/batch for Massive Changesets
The /batch command is built for work that's parallelizable — dozens or hundreds of files that need the same kind of independent change. Think code migrations, API upgrades, or sweeping lint fixes across a monorepo.
When you run /batch, the orchestrator enters plan mode and launches Explore agents to research exactly what needs to change. It decomposes the work into 5-30 self-contained units depending on codebase size. After you approve the plan, it launches one background agent per unit — all running in true parallel, each in its own isolated worktree so they can't interfere with each other.
Boris introduced /batch in version 2.1.63 (February 28, 2026). It's an interview-style command that walks you through the scope, then fans out the actual work across as many parallel agents as needed.
Forking Sessions with /branch
The /branch command lets you fork an existing session — splitting off a new conversation that inherits all the context from the current one. From the CLI, use claude --resume [session-id] --fork-session to branch off any previous session.
This is useful when you're deep into a debugging session and want to explore two different approaches simultaneously without losing your place. Forked sessions are grouped together in the session picker, making them easy to find.
/btw for Side Questions
The /btw command is deceptively simple but surprisingly useful. It lets you ask a quick side question while your main agent keeps working. The side query runs as a read-only ephemeral agent — no tools, no history pollution. The answer shows up and then gets discarded rather than cluttering your main conversation context.
Use it when you need to quickly check something ("btw, what's the syntax for a TypeScript generic constraint?") without derailing Claude's current train of thought.
Automation and Scheduling: /loop, /schedule, and Hooks
These features transform Claude Code from an interactive assistant into a background automation engine.
/loop and /schedule Commands
The /loop command repeats a prompt within your current CLI session on an interval — perfect for quick polling tasks. But the real power is in scheduled tasks, which run on Anthropic's cloud infrastructure even when your computer is off.
Boris uses scheduled tasks for workflows that repeat: auto-handling PRs, rebasing branches, monitoring Slack for feedback, running post-merge cleanup, and pruning stale PRs. You can create cloud scheduled tasks from the web, the Desktop app, or by running /schedule in the CLI. These can run up to a week on autopilot.
The key insight from Boris: turn workflows into reusable skills, then loop or schedule them. A skill that reviews PRs becomes a nightly automation. A skill that runs test suites becomes a continuous monitor.
Hooks for Agent Lifecycle Control
Hooks are where Claude Code reveals its true power as a programmable platform. They're user-defined shell commands, HTTP endpoints, or LLM prompts that execute automatically at specific points in Claude's lifecycle.
The lifecycle follows a clear sequence: SessionStart fires when a session begins (use it to load context or set environment variables). PreToolUse fires before any tool executes (use it to validate, block, or modify commands). PermissionRequest fires when Claude needs approval (use it to auto-approve safe operations or deny risky ones). Stop fires when Claude finishes (use it to force continuation if more work is needed).
Boris specifically highlights four hook patterns:
SessionStart to load context automatically — no more repeating yourself at the start of every session.
PreToolUse to log or validate commands before they run. Want to block rm -rf or any destructive git commands? A PreToolUse hook with a simple shell script handles it.
PermissionRequest to route approvals intelligently. Auto-approve read operations, require manual approval for destructive ones.
Stop to keep Claude going when it tries to quit too early. A Stop hook that returns "decision": "block" with a reason forces Claude to continue working.
Hooks are configured in JSON at three levels: user-wide (~/.claude/settings.json), project-level (.claude/settings.json), or organization-wide through managed policy.
You can view all active hooks at any time by typing /hooks in Claude Code. It opens a read-only browser showing every hook event, matcher, and source.
Customization: Agents, --bare, --add-dir, and the Chrome Extension
Custom Agents with --agent
Custom agents might be the most underappreciated feature in Claude Code. You define them as Markdown files in .claude/agents/ (project-level) or ~/.claude/agents/ (user-level), each with their own system prompt, tool restrictions, model selection, and permission mode.
When you launch claude --agent [name], the entire session transforms. It's not a delegated subagent — it's your main session operating with a completely different persona and set of rules. A code reviewer agent that only has read access. A database analyst that validates every query is read-only. A deployment agent that checks your branch before running any deploy command.
Agent files use YAML frontmatter to configure name, description, tools, model, permissionMode, hooks, skills, and more. You can even give agents persistent memory with the memory field, so they accumulate knowledge across sessions — patterns they've seen, conventions they've learned, issues they've flagged before.
For quick testing, --agents (plural) accepts inline JSON definitions that exist only for that session. The /agents command gives you an interactive interface to create, edit, and manage agents without touching files directly.
--bare Flag for Faster Startup
The --bare flag skips automatic scanning for CLAUDE.md files, settings, and MCP server connections. This speeds up startup significantly — Boris says up to 10x for non-interactive use cases.
When you're running Claude Code programmatically through the Agent SDK or piping data through headless mode, all that automatic context loading is wasted overhead. The --bare flag lets you specify exactly which configs to load explicitly, keeping things fast and predictable.
--add-dir for Multi-Repo Access
Working across multiple repositories? The --add-dir flag (or /add-dir during a session) grants Claude access to additional folders beyond your current project directory. You can also configure additionalDirectories in your team's settings.json for permanent multi-repo access.
This is essential for monorepo setups, microservice architectures, or any workflow where the code you need to reference lives outside your current working directory.
Chrome Extension for Frontend Work
The Chrome extension gives Claude a real browser to verify its frontend output. Instead of guessing whether the CSS looks right, Claude can actually render the page, check the layout, and iterate on visual issues. Boris notes it's more reliable than alternatives for real-time frontend verification.
The Desktop app takes this further — it can automatically start and test web servers with a built-in browser, creating a full development loop where Claude writes the code, spins up the server, and verifies the result visually.
Voice Coding: /voice
Boris admits that most of his coding is voice-based now. The /voice command activates push-to-talk in the CLI (hold spacebar to speak), and the Desktop app has a dedicated voice button. On iOS, you can use the built-in dictation.
Voice input currently supports 20 languages, with 10 new ones added in March 2026. It's not a novelty — it's a fundamentally different interaction model. Describing what you want built in natural speech, while Claude handles the translation to code, removes an entire layer of friction from the development process.
All 15 Features at a Glance
| Feature | Category | What It Does | Command / Flag |
|---|---|---|---|
| Mobile App | Multi-Surface | Code from iOS/Android with full Claude Code engine | Claude iOS/Android app |
| Session Teleporting | Multi-Surface | Pull cloud sessions to local terminal | /teleport |
| Remote Control | Multi-Surface | Control local sessions from phone/browser | /remote-control |
| Cowork Dispatch | Multi-Surface | Secure remote task execution on Desktop | Desktop app Dispatch |
| /loop and /schedule | Automation | Recurring tasks on intervals or cron | /loop, /schedule |
| Hooks | Automation | Deterministic logic at lifecycle points | settings.json hooks config |
| Git Worktrees | Parallel Work | Isolated branches for concurrent sessions | claude -w |
| /batch | Parallel Work | Fan out massive migrations across parallel agents | /batch |
| Session Forking | Parallel Work | Branch off a conversation to explore alternatives | /branch |
| /btw Side Queries | Parallel Work | Quick questions without polluting context | /btw |
| Chrome Extension | Customization | Give Claude a real browser for frontend verification | Chrome/Edge extension |
| Desktop Web Server | Customization | Auto-start and test web servers with built-in browser | Desktop app |
| Custom Agents | Customization | Specialized personas with own prompts and tools | --agent [name] |
| --bare Flag | Performance | Skip auto-loading for 10x faster startup | --bare |
| /voice | Interaction | Code by speaking in 20+ languages | /voice |
The Meta-Pattern: How Boris Actually Works
The 15 features above are powerful individually, but the real lesson from Boris's threads is how they combine. His daily workflow looks something like this:
He starts the morning by checking scheduled tasks that ran overnight — PR reviews, CI failure analysis, dependency audits. He kicks off new sessions from his phone using mobile or web, describes what he wants built in voice, and lets Claude work while he moves on to the next thing.
Throughout the day, he runs 10-15 concurrent sessions across terminal, browser, and mobile. When he needs to go deeper on something, he teleports a cloud session to his local environment. When a session hits a fork in the road, he uses /branch to explore both paths. When he needs a quick answer without disrupting a running task, /btw handles it.
For large-scale changes, /batch fans out the work across dozens of parallel agents. For recurring operational tasks, scheduled tasks handle them automatically. For safety and consistency, hooks enforce guardrails at every step.
The through-line isn't any single feature. It's the shift from "developer using an AI assistant" to "developer orchestrating an AI workforce." Claude Code isn't a tool you talk to — it's a platform you configure, automate, and scale. For a deeper look at how this compares to other AI coding tools, check out the Cursor vs Windsurf comparison and the GitHub Copilot vs Cursor breakdown.
If you're still using Claude Code as a single interactive chat session, you're using maybe 10% of what it can do. Start with one feature from each category — pick up worktrees for parallel work, set up one scheduled task, create one custom agent — and build from there.
Who is Boris Cherny and what is his role at Anthropic?
Boris Cherny is the engineer at Anthropic who created Claude Code. He shared a series of threads on X in early 2026 detailing how he and the Claude Code team use the tool, featuring over 40 tips across multiple posts. His insights carry unique weight because he designed the features he's recommending.
What is the /batch command in Claude Code and when should I use it?
The /batch command orchestrates large-scale code changes across your codebase in parallel. It enters plan mode, researches what needs to change, decomposes the work into 5-30 self-contained units, then launches one agent per unit in isolated git worktrees. Use it for code migrations, API upgrades, lint fixes, or any change that affects dozens or hundreds of files independently.
How do Claude Code hooks work and what can they do?
Hooks are shell commands, HTTP endpoints, or LLM prompts that run automatically at specific lifecycle points. Key events include SessionStart (load context), PreToolUse (validate or block commands), PermissionRequest (auto-approve or deny), and Stop (force continuation). Configure them in settings.json at user, project, or organization level.
Can I use Claude Code from my phone?
Yes. Claude Code has a dedicated mobile app for iOS and Android that connects to the same engine as the terminal and desktop versions. You can also use Remote Control (/remote-control) to control a local terminal session from any browser or the Claude mobile app, or use Session Teleporting (/teleport) to move cloud sessions to your local environment.
What are custom agents in Claude Code and how do I create one?
Custom agents are Markdown files with YAML frontmatter that define specialized personas with their own system prompts, tool access, model selection, and permission modes. Store them in .claude/agents/ (project) or ~/.claude/agents/ (user). Launch with claude --agent [name] to transform your entire session into that agent's configuration. Use the /agents command for an interactive setup wizard.
How do git worktrees work in Claude Code?
Git worktrees create isolated working directories that each have their own files and branch while sharing repository history. Use claude -w [name] to create one automatically. Each worktree gets its own Claude session, so you can run 3-5 parallel tasks without changes colliding. Worktrees are created at .claude/worktrees/[name] and are cleaned up automatically when you exit if no changes were made.
