Agent Backends: Choose Your AI Engine

PocketPaw supports seven agent backends built on a unified AgentBackend protocol. Each backend provides different capabilities and trade-offs. All backends yield standardized AgentEvent objects, so switching is seamless.

Backend Comparison

FeatureClaude SDKOpenAI AgentsGoogle ADKDeep AgentsCodex CLIOpenCodeCopilot SDK
StatusProductionBetaBetaBetaBetaBetaBeta
StreamingYesYesYesYesYesYesYes
ToolsYesYesYesYesYesYesYes
MCPYesNoYes.mcp.jsonYesNoNo
Multi-turnYesYesYesYesYesYesYes
Local modelsOllamaOllamaNoOllamaNoNoNo
OpenRouterPartialYesNoYesNoNoNo
LiteLLMYesYesYesYesNoNoYes
Required keyAnthropic API keyOpenAIGoogleNoneOpenAINoneNone

Switching Backends

Set the backend via environment variable, config file, or the dashboard:

Terminal window
export POCKETPAW_AGENT_BACKEND="claude_agent_sdk" # default
export POCKETPAW_AGENT_BACKEND="openai_agents"
export POCKETPAW_AGENT_BACKEND="google_adk"
export POCKETPAW_AGENT_BACKEND="codex_cli"
export POCKETPAW_AGENT_BACKEND="opencode"
export POCKETPAW_AGENT_BACKEND="copilot_sdk"
export POCKETPAW_AGENT_BACKEND="deep_agents"

Or change it in the web dashboard’s Settings panel — the backend dropdown shows available backends with capability badges.

Full Tool Access

All seven backends have access to PocketPaw’s 50+ built-in tools (file operations, web search, memory, integrations, and more). Tools are wrapped differently for each backend’s expectations through a unified tool bridge:

  • Claude SDK uses native SDK tools (Bash, Read, Write, etc.)
  • OpenAI Agents and Copilot SDK wrap tools as FunctionTool objects with JSON schema
  • Google ADK and Deep Agents wrap tools as Python callables with introspected signatures
  • Codex CLI and OpenCode inject tool instructions into the system prompt with a CLI bridge

Tool availability is governed by the same Tool Policy system across all backends. Profiles (safe, dev, full) and per-tool allow/deny lists work identically regardless of backend.

OpenRouter & LiteLLM Support

PocketPaw has dedicated provider adapters for OpenRouter and LiteLLM, giving access to 100+ models across multiple backends.

OpenRouter (100+ models, pay-per-token):

Terminal window
export POCKETPAW_AGENT_BACKEND="openai_agents"
export POCKETPAW_OPENAI_AGENTS_PROVIDER="openrouter"
export POCKETPAW_OPENROUTER_API_KEY="sk-or-v1-..."
export POCKETPAW_OPENROUTER_MODEL="anthropic/claude-sonnet-4-6"

LiteLLM (100+ providers via proxy or direct SDK):

Terminal window
export POCKETPAW_AGENT_BACKEND="openai_agents" # works with any backend
export POCKETPAW_OPENAI_AGENTS_PROVIDER="litellm"
export POCKETPAW_LITELLM_API_BASE="http://localhost:4000"
export POCKETPAW_LITELLM_MODEL="gpt-4o"

See LLM Providers for detailed configuration of both providers.

Capability System

Each backend declares its capabilities via a Capability flag enum:

  • STREAMING — Real-time token-by-token output
  • TOOLS — Can call tools (built-in or custom)
  • MCP — Native Model Context Protocol server support
  • MULTI_TURN — Maintains conversation context across turns
  • CUSTOM_SYSTEM_PROMPT — Accepts a custom system prompt from PocketPaw

The dashboard shows capability badges for each backend so you can compare at a glance.

Backend Details

Legacy Backends

The following backends have been removed but their config values are automatically mapped to active backends:

Legacy ValueMaps ToRemoved
pocketpaw_nativeclaude_agent_sdkFeb 2026
open_interpreterclaude_agent_sdkFeb 2026
claude_codeclaude_agent_sdkFeb 2026
gemini_cligoogle_adkFeb 2026

If your config still uses a legacy backend name, PocketPaw will silently redirect to the mapped backend.

Guides