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
Links
- Website: toolang.ai
- Docs: toolang.ai/docs
- GitHub: github.com/openhat-ai/toolang
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)
| File | Size | Uploaded | |
|---|---|---|---|
| toolang-0.3.0.tar.gz | 2.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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