Skip to main content

Toolang

Toolang

A language and runtime for agents and humans.

The language expresses agent loops with fine-grained control using a small subset of natural language — readable by humans and agents, precise enough for the runtime to execute.

Getting started

Toolang runs on macOS and Linux with Python 3.11+. Windows support is coming soon.

Install Toolang with uv or pip; the main command is toolang, with too as a shorter alias:

uv tool install toolang  # or: pip install toolang
too --version            # same as: toolang --version

Toolang supports Anthropic, DeepSeek, Google, OpenAI and OpenRouter out of the box, along with local models through Ollama and llama.cpp. To inspect all configured providers and list available models, run:

too providers --all
too models

To use additional providers or models, put a compatible flat catalog at ~/.toolang/catalog.json. See Model Catalog for the format and an upstream conversion example.

Remote agents

Run a shared agent locally by referencing its URL or GitHub shorthand. Toolang fetches the definition and starts a terminal chat using your model configuration:

too https://toolang.ai/dev.too chat
too briceyan/dev chat

In remote-agent chat mode, the agent responds only to your messages; it does not start tasks or chores on its own.

Local agents

Create an agent from scratch, or clone a shared one as a starting point:

too new NAME
too clone https://toolang.ai/dev.too NAME

Once created, the agent is ready for a conversation:

too NAME chat
too NAME shell

too NAME shell opens an interactive shell in the agent's home. Use too shell to open one in the Toolang root (TOOLANG_ROOT, or ~/.toolang by default), or too --root /path/to/toolang-root shell to select another root. The destination must already exist. Exit to return to your previous shell; an interactive terminal is required.

You can then configure the agent's capabilities and add tasks or recurring chores. Use the CLI help to see the available commands:

too --help

Scripts

Toolang also runs agents as scripts. Here is hello world in Toolang:

cat > hello-world.too <<'EOF'
agic():
  Say hello to the world.
EOF

too hello-world.too

Use too init to generate aide.too as a starting point. Read the source or use --help to see its available runnables:

too init DIR
too DIR/aide.too --help

You can rename the file or modify the code to suit your needs, then call it from Makefiles, CI jobs, or other scripts to add agent capabilities to existing automation.

To execute a runnable, pass its name and the arguments defined by its signature. If you omit the name, Toolang calls the entry runnable, as in the hello-world script above:

too DIR/aide.too polish tone=professional -- "Can you send the notes?"

The same script can also run interactively:

too DIR/aide.too chat

Language

The tree-sitter-toolang repository provides the grammar and parser packages for Python, JavaScript, and Rust. See the syntax reference for the full language syntax.

See examples for runnable Toolang programs:

Example Description
hello-world.too Hello world in Toolang.
signatures.too Agic signature forms, from shorthand to fully typed.
structured-output.too Define a struct and use it for structured output.
caps.too Define and use caps in agics.
hands.too Delegate work to multiple hands.
handoffs.too Transfer work to one of several specialist handoffs.
minimal.too A minimal agent.
developer.too Define a complete coding agent with reusable caps.

Common commands

Use these commands to run and manage agents. Add --help to any command for its usage and options.

too new <agent>                       # Create a local agent
too clone <ref> <agent>               # Clone an agent definition
too serve <ref>                       # Run an agent service in the foreground
too start <agent>                     # Start a local agent service in the background
too stop <agent>                      # Stop a running agent service

too init <dir>                        # Create aide.too in a directory
too [run] <script> [runnable]         # Execute a script; run is optional

too caps                              # List available capabilities
too tools                             # List available tools
too models                            # List available models
too providers                         # List available providers

too --help                            # Show common commands
too more                              # Show additional commands

Metadata

Release files for toolang 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for toolang 0.3.0
File Size Uploaded
toolang-0.3.0.tar.gz 2.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for toolang 0.3.0
File Interpreter ABI Platform
toolang-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.4 MB

Release files / toolang-0.3.0.tar.gz

Download URL toolang-0.3.0.tar.gz
Size 2.4 MB
Tags Source
SHA-256 checksum
How to use checksums
04c2219366e8a3c77f146ce819e222ec2e2c8ac8e27ed038aca9fe3bdbad36ed
BLAKE2b-256 checksum
How to use checksums
74fdba840f6d636281b05e02f532bcc8d85e3dec9e0e86c2ef78d72ac3618840
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 29, 2026.

Transparency log

Release files / toolang-0.3.0-py3-none-any.whl

Download URL toolang-0.3.0-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1a52aa5c9eb66ca706ebf44b5959643dcb6857fe5533b1d1ff9c89e7808d3bcb
BLAKE2b-256 checksum
How to use checksums
e8eb381c33485e657a9e2d22bd6e64061364a51805fcb8f34c0a283b5eabbbb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 29, 2026.

Transparency log
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