Power your favorite coding agents (Claude Code, Codex, OpenCode, and more) with your Poe subscription—no need to handle multiple providers/accounts. Poe Code routes everything through the Poe API .
Use it on a single session (npx poe-code@latest wrap claude) or configure it as your default and use your tools normally.
Start a coding session routing all your claude calls to Poe
npx poe-code@latest wrap claude
# Also available: codex, opencode, kimior
This updates the provider’s config files and continue using your tools normally.
# Start the interactive setup
npx poe-code@latest configure
# Setup a specific agent
npx poe-code@latest configure codex # (or claude, opencode, kimi)npx poe-code@latest unconfigure claudenpx poe-code@latest logoutUtilities are especially useful for scripting and CI/CD.
npx poe-code@latest spawn codex "Say hello"echo "Say hello" | npx poe-code@latest spawn codexnpx poe-code@latest test codex# Claude Code
npx poe-code@latest install claude-code
# Codex
npx poe-code@latest install codex
# OpenCode
npx poe-code@latest install opencode
# Kimi
npx poe-code@latest install kimi--dry-run– show every mutation without touching disk.--yes– accept defaults for prompts.
Check your compute points balance and review usage history.
# Show current balance
poe-code usage
# Show usage history (paginated, 20 entries per page)
poe-code usage list
# Auto-load multiple pages
poe-code usage list --pages 5
# Filter by model name
poe-code usage list --filter claudeGive any agent access to all Poe models including latest image, video, and audio models.
# Show configuration JSON and available tools
npx poe-code@latest mcp --help
# Configure an MCP client to use poe-code
npx poe-code@latest mcp configure claude-code
# Remove poe-code from an MCP client
npx poe-code@latest mcp unconfigure claude-codegenerate_text– Query any bot on Poe.generate_image– Generate imagesgenerate_video– Generate videosgenerate_audio– Convert text to audio
Use poe-code programmatically in your own code:
import { spawn, getPoeApiKey } from "poe-code"
// Get stored API key
const apiKey = await getPoeApiKey()
// Run a prompt through a provider
const result = await spawn("claude-code", {
prompt: "Fix the bug in auth.ts",
cwd: "/path/to/project",
model: "claude-sonnet-4"
})
console.log(result.stdout)Runs a single prompt through a configured service CLI.
service– Service identifier (claude-code,codex,opencode)options.prompt– The prompt to sendoptions.cwd– Working directory for the service CLI (optional)options.model– Model identifier override (optional)options.args– Additional arguments forwarded to the CLI (optional)
Returns { stdout, stderr, exitCode }.
Reads the Poe API key with the following priority:
POE_API_KEYenvironment variable- Credentials file (
~/.poe-code/credentials.json)
Throws if no credentials found.
