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