Bloom CLI
Open-source CLI coding agent powered by Pollinations.ai.
Bloom defaults to glm and provides a conversational workflow for exploring, editing, and shipping code.
[!WARNING] Bloom works best in modern UNIX-style terminals (macOS/Linux, WSL, or equivalent shell environments).
One-line install (recommended)
curl -LsSf https://raw.githubusercontent.com/Ilm-Alan/bloom-cli/main/scripts/install.sh | bash
Using uv
uv tool install --python 3.12 bloom-cli
bloom --help
Bloom requires Python 3.12 or later. To upgrade an existing installation:
uv tool upgrade bloom-cli
Bloom 0.1.3 caps MCP below 2 to keep fresh installs compatible with its MCP client API.
If you need to stay on Bloom 0.1.2 and see an import error mentioning
streamablehttp_client, reinstall with the compatibility constraint:
uv tool install --force --python 3.12 --with 'mcp<2' bloom-cli==0.1.2
Table of Contents
Features
- Interactive chat for code tasks with planning, edits, and command execution in one loop.
- Built-in toolset including
bash,read_file,write_file,search_replace,grep,ls,todo,task, andask_user_question. - Project-aware behavior that picks up repository context and supports project-level instructions.
- Safety controls with tool approvals by default and explicit auto-approve mode.
- Configurable platform via TOML configuration, custom tools, custom agents, custom prompts, and MCP servers.
Built-in Agents
Bloom includes multiple built-in agent profiles:
default: standard agent requiring approval for tool executions.plan: read-only planning/exploration profile with safe auto-approved tools.accept-edits: auto-approves file edits only (write_file,search_replace).auto-approve: auto-approves all tool executions (use carefully).
Select an agent with:
bloom --agent plan
Subagents and Task Delegation
Bloom supports delegated tasks through the task tool.
It includes an explore subagent for read-only codebase exploration, and supports custom subagents from your agents directory.
Quick Start
-
Install Bloom (see above).
-
Get a Pollinations API key from enter.pollinations.ai.
-
Run setup once:
bloom --setup -
Start the interactive agent:
bloom
Usage
Interactive Mode
Run Bloom interactively:
bloom
Useful patterns:
-
Start with an initial prompt:
bloom "Refactor authentication flow in auth.py"
-
Continue the latest session:
bloom --continue -
Resume a specific session:
bloom --resume abc123
-
Run in a specific directory:
bloom --workdir /path/to/project
Interactive shortcuts include:
Ctrl+J/Shift+Enter: newlineCtrl+G: open external editorCtrl+O: toggle tool outputShift+Tab: toggle auto-approve!<command>: run shell command directly@path/to/file: file path autocomplete
Trust Folder System
Bloom may ask whether to trust a folder before proceeding when project indicators are present (for example .bloom/, BLOOM.md, or .bloom.md).
Trust choices are saved in ~/.bloom/trusted_folders.toml.
Programmatic Mode
Use --prompt (-p) for non-interactive runs:
bloom --prompt "Summarize all TODOs in this repo"
Programmatic mode options:
--max-turns N--max-price DOLLARS--enabled-tools TOOL(repeatable; supports exact, glob, andre:patterns)--output text|json|streaming--model <name>
Slash Commands
Built-in slash commands:
/help/config(alias:/model)/reload/clear/log/compact/status/terminal-setup/exit
Configuration
Bloom reads configuration from:
./.bloom/config.toml(when available and trusted)~/.bloom/config.toml(global fallback)
Default model/provider setup:
active_model = "glm"
[[providers]]
name = "pollinations"
api_base = "https://gen.pollinations.ai/v1"
api_key_env_var = "POLLINATIONS_API_KEY"
[[models]]
name = "glm"
provider = "pollinations"
alias = "glm"
description = "Z.ai GLM-5 - 744B MoE, Long Context Reasoning & Agentic Workflows"
API key options:
-
bloom --setup(recommended) -
export in shell:
export POLLINATIONS_API_KEY="your_key_here"
-
set in
~/.bloom/.env:POLLINATIONS_API_KEY=your_key_here
Useful extension paths:
~/.bloom/agents/and.bloom/agents/~/.bloom/skills/and.bloom/skills/~/.bloom/tools/and.bloom/tools/~/.bloom/prompts/and.bloom/prompts/
Override the global Bloom home directory with:
export BLOOM_HOME="/path/to/custom/bloom/home"
Editors/IDEs
Bloom includes ACP support through bloom-acp.
See docs/acp-setup.md for JetBrains and Neovim setup instructions.
Resources
License
Apache-2.0. See LICENSE.
Release files for bloom-cli 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bloom_cli-0.1.3.tar.gz | 388.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bloom_cli-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 616.6 kB
Release files / bloom_cli-0.1.3.tar.gz
| Download URL | bloom_cli-0.1.3.tar.gz |
|---|---|
| Size | 388.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d946a296839cfce77a3d65b9e117b583d084f9ce8c79162841a502f462f0f367
|
|
BLAKE2b-256 checksum How to use checksums |
259f7e95a03a5d945a6b7046798c69462017854d469e8fea24a47b11f1836657
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / bloom_cli-0.1.3-py3-none-any.whl
| Download URL | bloom_cli-0.1.3-py3-none-any.whl |
|---|---|
| Size | 228.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f6910eb9a357ce1f9573763cc7bbb5d6e9454340879c82f0ecfacb65c6360bd2
|
|
BLAKE2b-256 checksum How to use checksums |
400849e6d7a9f651b76e329045d6ef50c4b1098da633bcc949ea0ef63944bf5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log