Welcome to the ClaudeCode Elixir SDK documentation.
- Streaming vs Single Mode -
query/2vsstream/3 - Streaming Output - Character-level deltas and partial messages
- Stop Reasons - Understanding result message subtypes
- Structured Outputs - JSON Schema-based structured responses
- Sessions - Multi-turn conversations, resume, fork, and history
- User Input - Tool approvals, clarifying questions, and user input
- File Checkpointing - Track file changes during sessions
- Permissions - Tool restrictions and permission modes
- Secure Deployment - Sandboxing and production security
- Modifying System Prompts - System prompts and settings
- Hooks - Tool execution monitoring and callbacks
- Cost Tracking - Usage monitoring and budget controls
- MCP - Model Context Protocol server integration
- Custom Tools - Building in-process MCP tools
- Subagents - Custom agent definitions
- Slash Commands - Predefined prompt commands
- Skills - Project-level skills
- Plugins - Plugin configuration
- Hosting - OTP supervision and deployment
- Distributed Sessions - Run sessions on remote BEAM nodes
- Testing - Testing with the ClaudeCode test adapter
- Phoenix - LiveView streaming, controllers, and PubSub
- Hooks - Monitoring and auditing tool executions
ClaudeCode.Options- All options and precedence rules- Hosting - Fault-tolerant production deployments
- Subagents - Custom agent configurations
- Examples - Code patterns and recipes
- Troubleshooting - Common issues and solutions
If you're new to ClaudeCode:
- Streaming vs Single Mode - Choose the right API
- Sessions - Multi-turn conversations
- Streaming Output - Real-time responses
- Permissions - Control tool access
- Hosting - Production deployment