// EPCT Workflow

The core workflow for effective AI-assisted development

E

Explore

Let Claude understand the codebase first

"What patterns exist for X in this codebase?"
P

Plan

Use Plan Mode (Shift+Tab) to design

"Plan implementing Y following existing patterns"
C

Code

Implement following the plan

"Implement the plan"
T

Test

Verify with tests

"Write tests and run them to verify"

// Essential Keyboard Shortcuts

Shift + Tab
Plan Mode
Toggle Plan Mode / Auto-Accept / Normal
Esc
Cancel
Interrupt current operation
Ctrl + C
Copy / Interrupt
Copy text or interrupt in terminal
↑
Previous
Navigate through prompt history
Tab
Autocomplete
Complete file paths and commands
#
Memory
Add learning to CLAUDE.md
Ctrl/Cmd + V
Paste Image
Paste screenshot or image from clipboard
Ctrl + T
Tasks
Toggle task list view
Ctrl + G
Editor
Open prompt/plan in your text editor
Ctrl + O
Verbose
Toggle verbose output (see thinking)
Ctrl + B
Background
Background running tasks
Ctrl + R
Search
Reverse search command history
Ctrl + L
Clear
Clear terminal screen
Esc + Esc
Rewind
Rewind conversation and/or code
Alt/Opt + P
Model
Switch model mid-session
Alt/Opt + T
Thinking (deprecated)
Deprecated — use /effort levels instead
Ctrl + D
Exit
Exit Claude Code
Ctrl + F
Kill Agents
Kill background agents
Shift + ↓
Teammates
Cycle between teammates
! prefix
Bash Mode
Run shell commands directly
@
File Ref
File reference autocomplete
?
Help
Show all available shortcuts

// Adaptive Thinking

Thinking is always on — control depth with /effort levels

/effort low

Quick answers, minimal reasoning

Fast responses for simple tasks

/effort medium

Balanced depth (default)

Good for most development work

/effort high

Deep analysis and thorough exploration

Architecture decisions, security reviews
→ Alt+T toggle and budget_tokens are deprecated. Use /effort levels instead. View reasoning with Ctrl + O verbose mode.

// Multiline Input

Multiple ways to enter multi-line prompts

\ + Enter
Quick Escape
Works in all terminals
Opt + Enter
macOS Default
Native macOS newline
Shift + Enter
Universal (v2.1+)
Works with zero setup since v2.1 in all terminals
Ctrl + J
Control Seq
Universal control sequence
→ Shift+Enter works with zero setup since v2.1.0. Run /terminal-setup only if you need to configure other terminals.

// Image Workflow

Multiple ways to work with images

Ctrl/Cmd + V
Paste
Paste screenshot or image from clipboard
Drag & Drop
Drop File
Drag image file into Claude Code window
@path/to/img
File Ref
Reference image by path in prompt
Cmd/Ctrl + Click
Open Image
Click image reference to open it
→ Multiple images per conversation supported. Great for visual TDD and debugging.

// PR Review Status

Clickable PR link in footer with color-coded review state (requires gh CLI)

Green

Approved

Yellow

Pending review

Red

Changes requested

// CLI Flags & Headless Mode

bash CLI usage
# One-shot / headless mode
claude -p "prompt"                    # Non-interactive
claude -p "prompt" --output-format json # JSON output
cat file | claude -p "analyze"        # Pipe input

# Session management
claude --continue                       # Continue last session
claude --resume                         # Resume named session
claude --fork-session                   # Fork existing session
claude --add-dir ../other-repo          # Add extra directory

# Safety & limits
claude --allowedTools Read,Edit         # Restrict tools
claude --max-turns 10                   # Limit turns
claude --max-budget-usd 5               # Set spend limit

# Model selection & effort
claude --model claude-opus-4-6          # Pick model
claude --fallback-model claude-haiku-4-5 # Fallback
claude --effort high                    # Deep reasoning depth
claude --verbose                        # See thinking

// Terminal Configuration

Required for Alt/Option shortcuts (Option+T, Alt+P)

iTerm2
Esc+
Preferences > Profiles > Keys > Left Option key: Esc+
Terminal.app
Meta key
Settings > Profiles > Keyboard > Use Option as Meta key
VS Code
macOptionIsMeta
Settings > terminal.integrated.macOptionIsMeta: true

// Power Aliases

bash ~/.zshrc
# Add to ~/.zshrc or ~/.bashrc
alias c="claude"
alias cc="claude --continue"           # Continue last session
alias cr="claude --resume"              # Resume with selection
alias cq="claude -p"                    # Quick single prompt
alias cplan="claude --permission-mode plan" # Start in Plan Mode

// Prompt Patterns

Explore First "What X patterns exist in this codebase?"
Follow Patterns "Follow existing patterns for Y"
TDD Request "Write tests first, DO NOT implement yet"
Verification "Run the tests to verify"
Constraint "Use X but not Y"
Deep Analysis "think hard about the failure modes for..."

// Memory Hierarchy

1
Managed Policy Enterprise rules (highest priority)
2
Project Memory CLAUDE.md in repository root
3
Project Rules .claude/ directory files
4
User Memory ~/.claude/CLAUDE.md
5
Local Project CLAUDE.local.md (personal, gitignored)
6
Auto Memory ~/.claude/projects/<project>/memory/ (project-scoped, auto-recorded)
7
Session Context Current conversation (lowest priority)
# Memory commands
/memory              # Opens memory in editor
/init                # Bootstrap starter CLAUDE.md

// CLAUDE.md Template

markdown CLAUDE.md
# Project Guidelines

## Tech Stack
- Language/Framework versions
- Key dependencies

## Code Style
@Rule Naming conventions
@Rule Structural patterns

## Error Handling
@Rule Exception strategy
@Rule Logging patterns

DO:
```java
// Good example with context
```

DO NOT:
```java
// Bad example to avoid
```

## Testing
@Rule Test framework patterns
@Rule Naming conventions

## DO NOT
- Anti-patterns to avoid
- Common mistakes

// Skills Structure

text .claude/skills/
.claude/
  skills/
    java-testing.md     # Skill file
    code-review.md      # Another skill
    refactor.md         # Another skill

# Skill file format
---
description: Generate tests following team patterns
---

# Instructions go here
Apply to: $ARGUMENTS

## Instructions
## Reference Examples
@src/test/ExampleTest.java
## DO NOT
→ Invoke with: /java-testing MerchantService

// Hooks

Automation guardrails that run before/after tool actions

json ~/.claude/settings.json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "echo 'About to run a command'"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "echo 'File was written'"
          }
        ]
      }
    ]
  }
}

PreToolUse

Runs before a tool executes

Validate, gate, or log actions

PostToolUse

Runs after a tool completes

Notify, transform, or audit results

SessionStart / SessionEnd

Session lifecycle

Initialize env, cleanup, reporting

UserPromptSubmit

When user submits a prompt

Input validation, logging

SubagentStart / SubagentStop

Agent lifecycle

Track agent spawning and results

TeammateIdle / TaskCompleted

Agent team quality gates

Quality checks, task routing

ConfigChange

When settings change

React to config updates

WorktreeCreate / Remove

Agent team worktree lifecycle

Setup/teardown for agent worktrees
→ 4 hook types: shell command, HTTP endpoint, prompt (LLM-based), and MCP tool. Can also be defined in skill/agent frontmatter.

// Plugins

Extend Claude Code with community-built capabilities

# Plugin commands
claude plugin add <plugin-name>    # Install a plugin
claude plugin list                  # List installed plugins
claude plugin remove <plugin-name> # Remove a plugin

What Plugins Bundle

Skills, hooks, MCP servers, and rules in one package

Install once, get everything

Community Ecosystem

Share and reuse team tooling

Publish your own plugins

// MCP Configuration

json .mcp.json (team-shared, recommended)
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://user:pass@localhost:5432/db"
      ],
      "lazyLoad": true
    }
  }
}
# MCP commands
/mcp             # List configured servers
/mcp add         # Add a new server

# Config priority: .mcp.json > .claude/settings.json > ~/.claude/settings.json
# SSE transport is deprecated — use HTTP (streamable) transport
# Tool Search: lazy-loads MCP tools on demand (95% context savings)

// Common Commands

/helpShow help and available commands
/memoryView and manage memory
/initGenerate starter CLAUDE.md
/mcpManage MCP servers
/clearClear conversation context
/compactSummarize and compact context
/fastToggle 2.5x faster output (same model)
/effortSet reasoning depth (low/medium/high)
/debugAttach debugger to Claude Code
/configOpen Claude Code configuration
/costShow token usage and costs
/copyInteractive code block picker — select and copy specific blocks
/modelSwitch model
/planEnter plan mode
/permissionsManage tool permissions
/renameName sessions for easy finding
/resumeResume previous conversations
/rewindRewind conversation and/or code
/contextVisualize context usage
/doctorInstallation health check
/statsUsage statistics and streaks
/statusShow session status
/exportExport conversation
/tasksView running background tasks
/teleportResume web session locally
/terminal-setupConfigure Shift+Enter multiline
/themeChange color theme
/todosView todo items
/vimEnable vim keybindings
/skill-nameInvoke a project skill
/remote-controlContinue session from phone/browser
/mobileDownload QR for Claude app
/btwSide question without polluting context
/diffInteractive diff viewer
/loopRecurring prompts on interval
/pluginManage plugins
/sandboxConfigure sandboxing
/hooksManage hooks
/agentsManage agent definitions
/output-styleSet output style
/keybindingsCustomize keyboard shortcuts

// What's New (Feb 2026)

Bleeding-edge features for the curious — launched in the last 60 days

Feb 25

Remote Control

Continue local Claude Code sessions from your phone, tablet, or any browser. Your machine keeps running locally — the browser is just a window.

  • claude remote-control — new session with remote access
  • /remote-control or /rc — from existing session
  • Press spacebar for QR code — scan with Claude iOS/Android app
  • Survives laptop sleep / network drops (auto-reconnects)
  • Max plan only (Pro coming soon)
Docs ⇗
Jan 26

MCP Apps

First official MCP extension — tools can return interactive HTML interfaces (dashboards, forms, 3D visualizations) right inside the conversation.

  • 9 launch partners: Amplitude, Asana, Box, Canva, Clay, Figma, Hex, monday.com, Slack
  • Sandboxed iframes with auditable JSON-RPC messages
  • Available in Claude web + desktop; VS Code & JetBrains exploring
Docs ⇗
Feb 5

Opus 4.6

New frontier model with 200K context (1M beta) and 128K max output tokens — double the previous limit.

  • Agent Teams featured as key capability
  • Adaptive thinking: thinking: {type: "adaptive"}
  • Data residency: inference_geo parameter
  • 1M context in Claude Code since v2.1.50
Deep Dive

Agent Teams

Expanded capabilities for multi-agent coordination.

  • Display modes: in-process (any terminal) or split panes (tmux/iTerm2)
  • Navigation: Shift+Down to cycle teammates, type to message
  • Plan approval: require teammates to plan before implementing
  • Quality hooks: TeammateIdle and TaskCompleted events
  • claude agents CLI — list all configured agents
  • teammateMode setting: "auto", "in-process", or "tmux"
Docs ⇗
Misc

Other Notable Additions

Smaller but useful features from recent releases.

  • /sandbox — OS-level filesystem & network isolation for untrusted code
  • /loop — recurring prompts on interval (scheduled tasks)
  • Smart /rename — auto-generates session names from context
  • claude auth subcommands: login, status, logout
  • /mobile — QR code to download Claude iOS/Android app
  • Context optimization — tool results >50K chars persisted to disk
  • spinnerTipsOverride — customize loading tips
  • Managed settings — macOS plist / Windows Registry for enterprise

// External Resources

⇗

Best Practices

Official Anthropic engineering guide

⇗

Documentation

Full Claude Code documentation

⇗

Memory System

CLAUDE.md and memory docs

⇗

MCP Docs

Model Context Protocol

⇗

Skills Guide

Custom skills documentation

⇗

Hooks Guide

Automation guardrails (17 events)

⇗

Plugins Guide

Extend with community plugins

⇗

Sandboxing

OS-level filesystem & network isolation

⇗

Sub-agents

Built-in & custom subagents

⇗

Agent Teams

Multi-agent coordination with worktrees

⇗

Agent SDK

Build custom agents with TypeScript

⇗

Scheduled Tasks

/loop recurring prompts & cron

⇗

Checkpointing

/rewind to restore states

⇗

Output Styles

Default, Explanatory, Learning, custom

⇗

Changelog

Latest features and updates