{
 "schema_version": 1,
 "generated": "2026-10-24",
 "id": "gesta-run-subpool--route-codex-through-subpool",
 "repo": "gesta-run/subpool",
 "repo_url": "https://github.com/gesta-run/subpool",
 "repo_slug": "gesta-run-subpool",
 "title": "Route each employee's Codex through the shared pool",
 "page_title": "How to route each employee's Codex through the shared pool with Subpool",
 "summary": "Point a developer's Codex configuration at Subpool using their employee API key.",
 "who": "A developer whose team uses Codex and has been issued an employee API key from a running Subpool instance.",
 "problem": "Codex on each machine normally connects directly to a provider, so the team cannot route work through shared capacity.",
 "outcome": "Codex sends requests to Subpool's /v1 endpoint with the employee key and uses pooled capacity.",
 "steps": [
  "In the Subpool console, create an employee API key for the pool and copy it.",
  "Create the `.codex` directory and `config.toml` file in your home directory if they do not exist.",
  "Add the `model_provider = \"subpool\"` settings and the `[model_providers.subpool]` block, setting `base_url` to your Subpool URL followed by `/v1` and `experimental_bearer_token` to your employee key.",
  "Save the file, then restart Codex so the new provider and WebSocket settings load."
 ],
 "agent_prompt": "Using the gesta-run/subpool repository, update the user-level Codex config file at <config path> so the subpool provider points to <Subpool URL>/v1 with the employee key supplied by <admin>. Expected output: a valid config.toml containing the [model_providers.subpool] table. Verify that the file parses as TOML and that base_url ends in /v1 before reporting success.",
 "agents": [
  "codex"
 ],
 "difficulty": "Intermediate",
 "time": "30 minutes",
 "basis": "readme",
 "caveat": "Subscription accounts use a dedicated upstream WebSocket while GitHub Copilot and OpenAI-compatible accounts use the HTTP/SSE bridge, so behavior differs by account type.",
 "category": "Work and operations",
 "tags": [
  "Work and operations"
 ],
 "lang": "go",
 "requirements": [
  "Docker Engine and Docker Compose installed",
  "openssl available to generate secrets",
  "AI subscription or API accounts that you are authorized to manage",
  "Administrator credentials for a running Subpool console (set in .env)"
 ],
 "risk": "sensitive",
 "seen_in_the_wild": false,
 "mentioned_publicly": false,
 "risks": [
  {
   "tag": "credentials",
   "notice": "The employee API key is stored in plain text in config.toml, so restrict access to that file on the user's machine."
  }
 ],
 "best": false,
 "score": 0.9,
 "evidence": [],
 "url": "https://dedupedai.com/use-cases/gesta-run-subpool/route-codex-through-subpool/",
 "md": "https://dedupedai.com/use-cases/gesta-run-subpool/route-codex-through-subpool/index.md",
 "disclaimer": "Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked \"Seen in the wild\", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email hello@dedupedai.com and we will look at it promptly.",
 "api": "https://dedupedai.com/api/v1/usecases/gesta-run-subpool--route-codex-through-subpool.json",
 "api_version": "v1"
}
