Skip to main content

Bloom CLI

PyPI Version Python Version CI Status License

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, and ask_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

  1. Install Bloom (see above).

  2. Get a Pollinations API key from enter.pollinations.ai.

  3. Run setup once:

    bloom --setup
    
  4. 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: newline
  • Ctrl+G: open external editor
  • Ctrl+O: toggle tool output
  • Shift+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, and re: 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:

  1. ./.bloom/config.toml (when available and trusted)
  2. ~/.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)

Source distribution for bloom-cli 0.1.3
File Size Uploaded
bloom_cli-0.1.3.tar.gz 388.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bloom-cli 0.1.3
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page