{"id":34531434,"url":"https://github.com/poe-platform/poe-code","last_synced_at":"2026-06-14T04:01:03.535Z","repository":{"id":321461901,"uuid":"1078492326","full_name":"poe-platform/poe-code","owner":"poe-platform","description":"Use Poe to power your favorite coding agents (Claude Code, Codex, OpenCode, etc). No need for multiple subscriptions.","archived":false,"fork":false,"pushed_at":"2026-06-07T19:54:05.000Z","size":24149,"stargazers_count":83,"open_issues_count":6,"forks_count":9,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-07T20:19:09.479Z","etag":null,"topics":["claude","code","codex","opencode"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/poe-platform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-10-17T20:26:49.000Z","updated_at":"2026-06-07T19:48:08.000Z","dependencies_parsed_at":"2026-04-02T11:05:47.258Z","dependency_job_id":"df08f6bc-1b69-4375-b8b6-2de45d587135","html_url":"https://github.com/poe-platform/poe-code","commit_stats":null,"previous_names":["poe-platform/poe-cli","poe-platform/poe-code"],"tags_count":369,"template":false,"template_full_name":null,"purl":"pkg:github/poe-platform/poe-code","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poe-platform%2Fpoe-code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poe-platform%2Fpoe-code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poe-platform%2Fpoe-code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poe-platform%2Fpoe-code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/poe-platform","download_url":"https://codeload.github.com/poe-platform/poe-code/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poe-platform%2Fpoe-code/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34082130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","code","codex","opencode"],"created_at":"2025-12-24T05:41:24.886Z","updated_at":"2026-06-14T04:01:03.527Z","avatar_url":"https://github.com/poe-platform.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003ePoe Code ⚡\u003c/h1\u003e\n\n\u003ca href=\"https://poe.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Poe-Sign up-purple?logo=poe\u0026logoColor=white\u0026color=5D5CDE\u0026style=for-the-badge\" alt=\"Discord\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.npmjs.com/package/poe-code\"\u003e\u003cimg alt=\"NPM version\" src=\"https://img.shields.io/npm/v/poe-code.svg?\u0026style=for-the-badge\u0026color=09B16B\"\u003e\u003c/a\u003e\n\u003ca href=\"https://discord.gg/joinpoe\"\u003e\u003cimg src=\"https://img.shields.io/badge/Discord-Join-purple?logo=discord\u0026logoColor=white\u0026color=FF44D3\u0026style=for-the-badge\" alt=\"Discord\"\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\nPower 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](https://poe.com/api) .\n\nUse it on a single session (`npx poe-code@latest wrap claude`) or configure it as your default and use your tools normally.\n\n## Quickstart\n\nStart a coding session routing all your `claude` calls to Poe\n\n```bash\nnpx poe-code@latest wrap claude\n# Also available: codex, opencode, kimi, goose\n```\n\nor\n\n## Set it as your default (works with CLIs and desktop apps)\n\nThis updates the provider’s config files and continue using your tools normally.\n\n```bash\n# Start the interactive setup\nnpx poe-code@latest configure\n\n# Setup a specific agent\nnpx poe-code@latest configure codex # (or claude, opencode, kimi, goose)\n```\n\n### Unconfigure (remove overrides)\n\n```bash\nnpx poe-code@latest unconfigure claude\n```\n\n## Authentication\n\nPoe Code uses your [Poe API key](https://poe.com/api) for authentication. On first run, you'll be prompted to log in via your browser (OAuth). You can also provide your key directly:\n\n```bash\n# Interactive login (opens browser)\nnpx poe-code@latest login\n\n# Or pass your API key directly\nnpx poe-code@latest login --api-key \u003cyour-key\u003e\n\n# Or set it as an environment variable\nexport POE_API_KEY=\u003cyour-key\u003e\n```\n\nCredentials are stored locally in `~/.poe-code/`. Use `poe-code auth status` to check your login state.\n\n```bash\n# Remove all configuration and credentials\nnpx poe-code@latest logout\n```\n\n## Quick links\n\n- [Utilities](#utilities)\n- [Usage and Billing](#usage--billing)\n- [Models](#models)\n- [MCP Server](#poe-mcp-server)\n- [SDK](#sdk)\n- [Research Preview](#research-preview)\n- [Poe API](https://poe.com/api)\n\n## Utilities\n\nUtilities are especially useful for scripting and CI/CD.\n\n#### Spawn a one-off prompt\n\n```bash\nnpx poe-code@latest spawn codex \"Say hello\"\n```\n\n#### Spawn against a GitHub repository\n\n```bash\nnpx poe-code@latest spawn codex \"Fix the failing tests\" --cwd github://owner/repo\nnpx poe-code@latest spawn codex \"Review the auth module\" --cwd github://owner/repo#main:packages/auth\n```\n\n#### Spawn a prompt via stdin\n\n```bash\necho \"Say hello\" | npx poe-code@latest spawn codex\n```\n\n#### Review a GitHub pull request\n\n```bash\nnpx poe-code@latest code-review install\nnpx poe-code@latest code-review run \"https://github.com/owner/repo/pull/123\"\nnpx poe-code@latest code-review commit \"https://github.com/owner/repo/pull/123\" --dry-run\n```\n\n#### Test a configured service\n\n```bash\nnpx poe-code@latest test codex\n```\n\n### Install agent CLIs\n\n```bash\n# Claude Code\nnpx poe-code@latest install claude-code\n\n# Codex\nnpx poe-code@latest install codex\n\n# OpenCode\nnpx poe-code@latest install opencode\n\n# Kimi\nnpx poe-code@latest install kimi\n\n# Goose\nnpx poe-code@latest install goose\n```\n\n### Optional flags\n\n- `--dry-run` – show every mutation without touching disk.\n- `--yes` – accept defaults for prompts.\n\n## Development\n\nRunning `npm install` in a clone also installs Poe Code skill templates into supported user skill directories such as `~/.claude/skills/` and `~/.codex/skills/`. Set `SKIP_SYNC_SKILLS=1` to opt out:\n\n```bash\nSKIP_SYNC_SKILLS=1 npm install\n```\n\n## Usage \u0026 Billing\n\nCheck your compute points balance and review usage history.\n\n```bash\n# Show current balance\npoe-code usage\n\n# Show usage history (paginated, 20 entries per page)\npoe-code usage list\n\n# Auto-load multiple pages\npoe-code usage list --pages 5\n\n# Filter by model name\npoe-code usage list --filter claude\n```\n\n## Models\n\nList available Poe API models and filter them by provider, capabilities, modalities, and supported API endpoint.\n\n```bash\n# List all models\npoe-code models\n\n# Show only models that support the Responses API\npoe-code models --endpoint /v1/responses\n\n# Show only models that support Chat Completions\npoe-code models --endpoint /v1/chat/completions\n\n# Search by provider or model id\npoe-code models --search claude\n```\n\n## Poe MCP Server\n\nGive any agent access to all Poe models including latest image, video, and audio models.\n\n```bash\n# Show configuration JSON and available tools\nnpx poe-code@latest mcp --help\n\n# Configure an MCP client to use poe-code\nnpx poe-code@latest mcp configure claude-code\n\n# Remove poe-code from an MCP client\nnpx poe-code@latest mcp unconfigure claude-code\n```\n\n### Available tools\n\n- `generate_text` – Query any bot on Poe.\n- `generate_image` – Generate images\n- `generate_video` – Generate videos\n- `generate_audio` – Convert text to audio\n\n## SDK\n\nUse `poe-code` programmatically in your own code:\n\n```typescript\nimport { spawn, getPoeApiKey, getPoeAuthIdentity } from \"poe-code\";\n\n// Get stored API key\nconst apiKey = await getPoeApiKey();\n\n// Fetch the authenticated Poe account identity\nconst identity = await getPoeAuthIdentity();\n\n// Run a prompt through a provider\nconst result = await spawn(\"claude-code\", {\n  prompt: \"Fix the bug in auth.ts\",\n  cwd: \"/path/to/project\",\n  model: \"claude-sonnet-4-6\"\n});\n\n// Spawn against a GitHub repository\nconst { events, result: ghResult } = spawn(\"codex\", {\n  prompt: \"Review the auth module\",\n  cwd: \"github://owner/repo#main:packages/auth\"\n});\n\nconsole.log(result.stdout);\n```\n\nFor plugin-first agent composition, import the public agent builder from the\n`poe-code/agent` subpath:\n\n```typescript\nimport { agent, openaiResponsesPlugin, systemPromptPlugin } from \"poe-code/agent\";\n\nconst run = await agent()\n  .model(\"gpt-5.5\")\n  .use(openaiResponsesPlugin())\n  .use(systemPromptPlugin())\n  .run(\"Summarize the current repository\", {\n    cwd: process.cwd()\n  });\n\nconsole.log(run.output);\n```\n\n### `spawn(service, options)`\n\nRuns a single prompt through a configured service CLI.\n\n- `service` – Service identifier (`claude-code`, `codex`, `opencode`, `kimi`, `goose`)\n- `options.prompt` – The prompt to send\n- `options.cwd` – Working directory or workspace locator (optional). Supports local paths and `github://owner/repo[#ref[:subdir]]` locators. See [@poe-code/workspace-resolver](packages/workspace-resolver/) for the full locator syntax.\n- `options.model` – Model identifier override (optional)\n- `options.mode` – Permission mode: `yolo`, `edit`, or `read` (optional)\n- `options.args` – Additional arguments forwarded to the CLI (optional)\n\nReturns `{ stdout, stderr, exitCode }`.\n\n### `spawn.pretty(service, options)`\n\nSame as `spawn()`, but renders the ACP event stream to stdout with colored, formatted output — matching the CLI's visual style.\n\n```typescript\nimport { spawn } from \"poe-code\"\n\nconst result = await spawn.pretty(\"codex\", \"Fix the bug in auth.ts\")\nconsole.log(result.exitCode)\n```\n\nReturns `Promise\u003c{ stdout, stderr, exitCode }\u003e`.\n\n### `getPoeApiKey()`\n\nReads the Poe API key with the following priority:\n\n1. `POE_API_KEY` environment variable\n2. Credentials file (`~/.poe-code/credentials.enc`)\n\nThrows if no credentials found.\n\n### `getPoeAuthIdentity()`\n\nFetches the Poe account identity for the resolved API key.\n\n```typescript\nimport { getPoeAuthIdentity } from \"poe-code\";\n\nconst identity = await getPoeAuthIdentity();\nconsole.log(identity.name, identity.handle);\n```\n\nUses `POE_API_KEY` or the stored credential and honors `POE_BASE_URL`. Throws an API error when Poe rejects the credential.\n\n## Research Preview\n\nThese features are available but subject to breaking changes.\n\n- **[Pipeline](packages/pipeline/)** — Run YAML task plans through agents with configurable steps\n- **[Ralph](packages/ralph/)** — Agentic build loop that iterates on a markdown doc\n- **[Experiment loop](packages/experiment-loop/)** — Karpathy-style optimize loop: agent changes code, eval script scores it, keep or discard via git, repeat.\n- **[Poe Agent](packages/poe-agent/)** — Composable agent runtime\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoe-platform%2Fpoe-code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpoe-platform%2Fpoe-code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoe-platform%2Fpoe-code/lists"}