// 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