Interactive vs One-Shot Mode

Claude Code runs in three modes: interactive (a persistent REPL for multi-step tasks), one-shot (single task via -p flag), and continue/resume (picks up a previous session). Each mode has a distinct use case.

Syntax

claude-code
// Interactive mode (REPL):
claude

// One-shot mode (single task, then exit):
claude -p "Your task here"

// Continue most recent session:
claude --continue

// Resume a specific past session:
claude --resume

// One-shot with JSON output (for scripting):
claude --output-format json -p "Task"

Example

claude-code
// One-shot: Add a component following CLAUDE.md conventions
claude -p "Create a LoadingSpinner component in src/components/ui/. Use Tailwind. Include size variants: sm, md, lg. Run typecheck after."

// Interactive: Debug a complex issue
claude
> The auth redirect is broken. Read LoginPage.tsx,
> AuthContext.tsx, and App.tsx. Find and fix the issue.
> Run tests when done.

// Resume last session:
claude --continue