Skip to main content

Claude Agent

Claude is Anthropic's AI assistant, available through the Claude Code CLI. It's Bloom's default agent, offering a rich tool ecosystem with web search, session management, and the TodoWrite tool for progress tracking.

Prerequisites​

  1. Anthropic Account: Create an account at anthropic.com
  2. API Key: Generate an API key from the Anthropic Console
  3. Claude Code CLI: Install the command-line interface

Installation​

See the official Claude Code documentation for installation instructions.

After installation, verify it's working:

claude --version

Configuration​

Basic Configuration​

Claude is the default agent, so no configuration is required for basic usage. To explicitly configure:

# ~/.bloom/config.yaml
agent:
defaultInteractive: claude
defaultNonInteractive: claude

Model Selection​

Claude supports model selection via the agent config:

# ~/.bloom/config.yaml
agent:
defaultInteractive: claude
defaultNonInteractive: claude

claude:
defaultModel: opus # Use Claude Opus by default
models: # Available models for switching
- sonnet
- haiku
- opus

Available models depend on your API access:

  • sonnet - Claude Sonnet (default, balanced)
  • opus - Claude Opus (most capable)
  • haiku - Claude Haiku (fastest)

Configuration Commands​

# Set claude as default
bloom config set-interactive claude
bloom config set-noninteractive claude

# Set default model
bloom config set-model claude opus

# Discover and save available models
bloom config models claude --discover --save

Capabilities​

CapabilitySupportedNotes
File ReadYesRead any file in the working directory
File WriteYesCreate and modify files
Bash/TerminalYesExecute shell commands
Git OperationsYesFull git support
Web SearchYesSearch the web for information
Web FetchYesFetch and read web pages
Session ResumeYesContinue previous sessions with --resume
Human QuestionsYesCan pause to ask clarifying questions
TodoWriteYesBuilt-in task tracking tool

Unique Features​

TodoWrite Tool​

Claude has a built-in TodoWrite tool for tracking task progress. When working on complex tasks, Claude will:

  1. Create a checklist from acceptance criteria
  2. Update items as work progresses
  3. Provide visibility into completion status

Task Subagents​

Claude can spawn specialized subagents for complex tasks:

  • Explore agent: For codebase exploration
  • Plan agent: For implementation planning
  • Research agent: For gathering information

Web Search & Fetch​

Claude can search the web for documentation, examples, and current information. It can also fetch and read specific URLs.

Provider-Specific Options​

The Claude provider supports these additional options (used internally by Bloom):

OptionTypeDefaultDescription
dangerouslySkipPermissionsbooleantrueSkip permission prompts for autonomous execution
activityTimeoutMsnumber600000Timeout (10 min) before considering agent stuck
heartbeatIntervalMsnumber10000Heartbeat interval (10s) in streaming mode
verbosebooleanfalseShow detailed event output

CLI Flags Reference​

When Bloom runs Claude, it uses these flags:

# Interactive mode
claude --verbose --dangerously-skip-permissions \
--append-system-prompt "system prompt" \
"initial prompt"

# Streaming mode (autonomous)
claude -p --verbose --dangerously-skip-permissions \
--output-format stream-json \
--append-system-prompt "system prompt" \
"task prompt"

# Resume session
claude -p --resume <session_id> ...

Troubleshooting​

"Failed to spawn claude"​

Cause: Claude CLI not installed or not in PATH

Solution:

# Check if installed
which claude

If not found, reinstall using the official docs and ensure the binary is in your PATH.

"Authentication failed" or "Invalid API key"​

Cause: Missing or invalid ANTHROPIC_API_KEY

Solution:

# Check if set
echo $ANTHROPIC_API_KEY

# Set if missing
export ANTHROPIC_API_KEY="sk-ant-..."

# Verify key is valid at console.anthropic.com

"Agent timed out due to inactivity"​

Cause: Claude didn't produce output for 10 minutes

Possible causes:

  • Complex operation taking longer than expected
  • API rate limiting
  • Network issues

Solution:

  • Check Anthropic API status
  • Review task complexity (break into smaller tasks)
  • Check network connectivity

"Rate limit exceeded"​

Cause: Too many API requests

Solution:

  • Wait and retry
  • Consider upgrading API tier
  • Reduce parallel agent count in Bloom

Best Practices​

For Interactive Sessions​

  1. Use Claude for exploration and planning
  2. Let Claude use web search for documentation
  3. Review TodoWrite progress for complex tasks

For Autonomous Tasks​

  1. Provide clear, specific acceptance criteria
  2. Claude will track progress via TodoWrite
  3. Use checkpoints for human review at phase boundaries

Prompt Tips​

Claude responds well to:

  • Clear task boundaries
  • Specific acceptance criteria
  • Context about the codebase
  • Examples of expected output

Example Session​

# Start interactive session with Claude
bloom enter

# Claude will:
# 1. Read the project context (PRD.md, plan.md, etc.)
# 2. Use TodoWrite to track progress
# 3. Search web for documentation as needed
# 4. Ask clarifying questions when unsure