{"id":50405939,"url":"https://github.com/poolsideai/pool","last_synced_at":"2026-05-31T01:30:53.512Z","repository":{"id":354437283,"uuid":"1210429561","full_name":"poolsideai/pool","owner":"poolsideai","description":"pool is Poolside’s coding agent that runs in your terminal or integrates with any ACP-compatible editor","archived":false,"fork":false,"pushed_at":"2026-04-28T14:17:23.000Z","size":47,"stargazers_count":91,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-28T16:20:52.946Z","etag":null,"topics":["acp","agent"],"latest_commit_sha":null,"homepage":"https://poolside.ai/products","language":null,"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/poolsideai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-14T12:09:21.000Z","updated_at":"2026-04-28T16:20:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/poolsideai/pool","commit_stats":null,"previous_names":["poolsideai/pool"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/poolsideai/pool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poolsideai%2Fpool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poolsideai%2Fpool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poolsideai%2Fpool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poolsideai%2Fpool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/poolsideai","download_url":"https://codeload.github.com/poolsideai/pool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poolsideai%2Fpool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33716338,"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-05-30T02:00:06.278Z","response_time":92,"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":["acp","agent"],"created_at":"2026-05-31T01:30:51.686Z","updated_at":"2026-05-31T01:30:53.497Z","avatar_url":"https://github.com/poolsideai.png","language":null,"funding_links":[],"categories":["Others","Coding Agents","Terminal-native coding agents"],"sub_categories":["Closed Source"],"readme":"# pool\n\npool is [Poolside](https://poolside.ai)’s coding agent. It can run in several modes:\n\n- In your terminal as a standalone interactive application\n- As an [ACP](https://agentclientprotocol.com/) server with [a compatible editor](#run-as-an-acp-server-pool-acp)\n- As an ACP client connected to [an ACP server](#run-as-an-acp-client-pool---agent-server)\n- Non-interactively with `pool exec`.\n\n| Ghostty | Terminal.app |\n| --- | --- |\n| \u003cimg src=\"https://github.com/user-attachments/assets/7c5befea-2e12-4aa1-809e-e9f25b057362\" /\u003e | \u003cimg src=\"https://github.com/user-attachments/assets/d2088fa4-bf1b-438b-aec5-57dbb6716c0b\" /\u003e |\n\n## Contents\n\n- [Install](#install)\n- [Quick start](#quick-start)\n- [Modes](#modes)\n- [Spec support](#spec-support)\n- [Run as an ACP server (`pool acp`)](#run-as-an-acp-server-pool-acp)\n- [Run as an ACP client (`pool --agent-server`)](#run-as-an-acp-client-pool---agent-server)\n- [Run non-interactively (`pool exec`)](#run-non-interactively-pool-exec)\n- [MCP servers](#mcp-servers)\n- [Configuration](#configuration)\n- [Permissions](#permissions)\n- [Feedback and bugs](#feedback-and-bugs)\n\n## Install\n\nLinux and macOS:\n\n```bash\ncurl -fsSL https://downloads.poolside.ai/pool/install.sh | sh\n```\n\nWindows (preview):\n```pwsh\nirm https://downloads.poolside.ai/pool/install.ps1 | iex\n```\n\n## Quick start\n\nRun `pool` in any project:\n\n```bash\ncd your-project\npool\n```\n\nRun `pool -h` to see all available options.\n\n### Interactive features\n\n- Slash commands with `/`\n- Fuzzy search over files and directories with `@`\n- Shell mode with `!`\n- Rewind to previous messages with double `esc`\n\nEnter `?` or `/help` during a session to see all available commands and shortcuts.\n\n## Modes\n\nBy default, pool asks for approval before each tool call. Switch to Accept edits or Allow all when you want it to take actions without prompting.\n\n| Mode          | ID             | What it does                                                       |\n| ------------- | -------------- | ------------------------------------------------------------------ |\n| Always ask    | `default`      | Prompts for approval on first use of each tool type                |\n| Accept edits  | `accept-edits` | Auto-approves workspace file reads and writes                      |\n| Allow all     | `allow-all`    | Approves tool calls automatically                                  |\n| Plan          | `plan`         | Plans changes without modifying your codebase                      |\n\nPress `Shift+Tab` to cycle through modes, or use `/mode \u003cid\u003e` to switch directly.\n\n## Spec support\n\npool implements and integrates with open agent specs:\n\n- **[AGENTS.md](https://agents.md)**: pool automatically reads relevant `AGENTS.md` files from your project for project context and instructions.\n- **[Skills](https://agentskills.io)**: load skills to extend pool with reusable workflows.\n- **[MCP](https://modelcontextprotocol.io)**: connect tools and data sources via [MCP servers](#mcp-servers).\n- **[ACP](https://agentclientprotocol.com)**: runs as an [ACP server](#run-as-an-acp-server-pool-acp) inside editors and as an [ACP client](#run-as-an-acp-client-pool---agent-server) driving other agents.\n\n## Run as an ACP server (`pool acp`)\n\n`pool acp` is an [Agent Client Protocol](https://agentclientprotocol.com) server. Use it from any ACP-compatible client.\n\n### Zed\n\n```bash\npool acp setup --editor zed\n```\n\nThis writes Poolside agent configuration to `~/.config/zed/settings.json`. Or add it manually:\n\n```json\n{\n  \"agent_servers\": {\n    \"Poolside\": {\n      \"command\": \"pool\",\n      \"args\": [\"acp\"],\n      \"type\": \"custom\"\n    }\n  }\n}\n```\n\n### JetBrains\n\n```bash\npool acp setup --editor jetbrains\n```\n\nThis writes configuration to `~/.jetbrains/acp.json`. Or add it manually:\n\n```json\n{\n  \"agent_servers\": {\n    \"Poolside\": {\n      \"command\": \"pool\",\n      \"args\": [\"acp\"]\n    }\n  }\n}\n```\n\n### Other editors\n\nPoint the editor's ACP configuration at `pool acp`:\n\n```json\n{\n  \"command\": \"pool\",\n  \"args\": [\"acp\"]\n}\n```\n\nTo pass flags to the ACP server, add them to the args array, for example `[\"acp\", \"--reasoning\", \"high\"]`.\n\n### ACP features\n\n- Session persistence: `session/list` and `session/load`\n- Session config options: mode and model. These can be persisted in `pool.json`\n  and are sent on startup using `session/set_config_option`\n- Slash commands advertised to the client\n\n## Run as an ACP client (`pool --agent-server`)\n\nBy default `pool` connects to Poolside's built-in agent through `pool acp`. You can also connect it to any other [ACP server](https://agentclientprotocol.com/get-started/agents):\n\n```bash\n# Claude Agent\nnpm install -g @agentclientprotocol/claude-agent-acp\npool --agent-server claude-agent-acp\n\n# Codex\nnpm install -g @zed-industries/codex-acp\npool --agent-server codex-acp\n\n# Gemini\nnpm install -g @google/gemini-cli\npool --agent-server \"gemini --acp\"\n```\n\nTo set a non-Poolside server as the default, edit `~/.config/poolside/pool.json`:\n\n```json\n{\n  \"agent_servers\": {\n    \"default\": {\n      \"command\": \"claude-agent-acp\"\n    }\n  }\n}\n```\n\nFlags after `--` are forwarded to the ACP server `pool` is running. For example:\n\n```bash\npool -- --reasoning high\n```\n\n## Run non-interactively (`pool exec`)\n\nRun `pool exec` to send a single prompt and exit when the task is complete. Use this for scripts, CI pipelines, and one-off tasks.\n\n```bash\n# Inline prompt\npool exec -p \"scan cmd/cli code for vulnerabilities\" -o json --unsafe-auto-allow\n\n# Prompt from a file\npool exec -f prompt.txt -o json\n```\n\n## MCP servers\n\n`pool` can connect to [Model Context Protocol](https://modelcontextprotocol.io) servers to expose extra tools to the agent. Manage them with `pool mcp`:\n\n```bash\n# Command-based (stdio)\npool mcp add filesystem -- node filesystem-server.js\n\n# Remote HTTP server\npool mcp add --transport http notion https://mcp.notion.com/mcp\n\n# Remote SSE server\npool mcp add --transport sse linear https://mcp.linear.app/sse\n\n# Pass environment variables or HTTP headers\npool mcp add --env API_KEY=your-key myserver -- npx -y myserver-mcp\npool mcp add --transport http --header \"Authorization: Bearer $TOKEN\" svc https://example.com/mcp\n\n# Inspect and remove\npool mcp list\npool mcp get \u003cname\u003e\npool mcp remove \u003cname\u003e\n```\n\nServers are stored under `mcp_servers` in `~/.config/poolside/settings.yaml`. You can also edit that file directly, or scope servers per-project by adding them to `.poolside/settings.yaml`.\n\n## Configuration\n\nRun `pool config` to print the log, trajectory, and configuration directories, as well as the credentials file path. Run `pool config settings` to open `settings.yaml` in your editor.\n\nBy default, Poolside stores configuration files in `~/.config/poolside`. This includes `settings.yaml` (CLI settings), `credentials.json` (API token), and `pool.json` (agent server defaults).\n\nFor automation environments, set `POOLSIDE_API_KEY` instead of using stored credentials. `pool` checks it before reading from configuration files.\n\n## Permissions\n\nPermission rules can be set at three scopes:\n\n- `.poolside/settings.local.yaml` – local, per-project (gitignored)\n- `.poolside/settings.yaml` – shared per-project (checked in)\n- `~/.config/poolside/settings.yaml` – personal defaults across projects\n\nWhen the same setting appears in multiple files, the most specific file wins.\n\n### Tool permissions\n\n```yaml\ntools:\n  shell:\n    allow:\n      - \"git log *\"\n      - \"rg *\"\n    deny:\n      - \"rm *\"\n      - \"git push *\"\n```\n\nHow tool rules work:\n\n- Tool rules support only `*` wildcards (`**` is not supported)\n- The rule string must match the tool call shown in the approval prompt\n- Subshells and composite shell commands always require manual approval\n- Shell commands that use control operators such as `|` are not auto-approved\n\n### Path permissions\n\n```yaml\npaths:\n  allow:\n    - path: ~/Documents/**\n    - path: ~/workspace/docs/**\n      write: true\n  deny:\n    - path: ~/.ssh/**\n    - path: ~/.env\n```\n\nHow path rules work:\n\n- Paths are read-only by default; `write: true` allows edits, deletes, moves, renames\n- `deny` overrides `allow`\n- Path patterns support `*` and `**`\n- Use forward slashes for all paths, including Windows paths\n- In `.poolside/settings.local.yaml`, paths must be relative to the project\n- In `~/.config/poolside/settings.yaml`, paths must be absolute or start with `~`\n\n## Feedback and bugs\n\nRun `/feedback` in an interactive session to send feedback or report a bug. To attach an earlier session, resume it first with `pool -r` and then run `/feedback`.\n\n## License\n\nSee [LICENSE.md](https://github.com/poolsideai/pool/blob/main/LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoolsideai%2Fpool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpoolsideai%2Fpool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoolsideai%2Fpool/lists"}