Freeact code action agent
Project description
Freeact is a lightweight agent harness and CLI tool that acts by executing Python code and shell commands. Code actions are key for an agent to improve itself and its tool library.
It generates Python APIs for MCP servers and calls their tools programmatically ("code mode") instead of JSON. This enables tool composition in code actions in a single inference pass.
Freeact has a tiny core and uses sandboxed IPython kernels to execute both Python code and shell commands in a uniform way. Execution runs locally with fine-grained approval of actions.
[!NOTE] Supported models: Freeact supports any model compatible with Pydantic AI, with
gemini-3-flash-previewas the default. See Models for provider configuration and examples.
Documentation
- 📚 Documentation
- 🚀 Quickstart
- 🤖 llms.txt
- 🤖 llms-full.txt
Capabilities
| Capability | Description |
|---|---|
| Code actions | Freeact agents act via Python code and shell commands. This enables tool composition and intermediate result processing in a single LLM inference pass. |
| Local execution | Freeact executes code and shell commands locally in an IPython kernel provided by ipybox. Data, configuration and generated tools live in local workspaces. |
| Sandbox mode | IPython kernels optionally run in a sandbox environment based on Anthropic's sandbox-runtime. It enforces filesystem and network restrictions on OS-level. |
| MCP code mode | Freeact calls MCP server tools programmatically1) via generated Python APIs. This enables composition of tool calls in code actions with much lower latency. |
| Tool discovery | Tools are discovered via category browsing or hybrid BM25/vector search. On-demand loading frees the context window and scales to larger tool libraries. |
| Tool authoring | Agents can create new tools, enhance existing tools, or save code actions as reusable tools. This captures successful experience as executable knowledge. |
| Agent skills | Skills give agents new capabilities and expertise based on agentskills.io. They compose naturally with code actions and agent-authored tools. |
| Subagent delegation | Tasks can be delegated to subagents, each using their own sandbox. It enables specialization and parallelization without cluttering the main agent's context. |
| Action approval | Fine-grained approval of code actions and (programmatic) tool calls from both main agents and subagents. Enables human control over potentially risky actions. |
| Session persistence | Freeact persists agent state incrementally. Persisted sessions can be resumed and serve as a record for debugging, evaluation, and improvement. |
Usage
| Component | Description |
|---|---|
| Agent SDK | Agent harness and Python API for building freeact applications. |
| CLI tool | Terminal interface for interactive conversations with a freeact agent. |
1) Freeact also supports MCP server integration via JSON tool calling, but the recommended approach is programmatic tool calling.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file freeact-0.8.1.tar.gz.
File metadata
- Download URL: freeact-0.8.1.tar.gz
- Upload date:
- Size: 54.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbbd32025b9f0a313ed60a464f2853088d9ae6771104e7539f56b04d790e1352
|
|
| MD5 |
74d7ad6c836fba425f943caf4767bcdd
|
|
| BLAKE2b-256 |
5bdae92e1100df95fbbf5636f2276bff2423d707f986d118bb6e7fa5fa496331
|
Provenance
The following attestation bundles were made for freeact-0.8.1.tar.gz:
Publisher:
release.yml on gradion-ai/freeact
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
freeact-0.8.1.tar.gz -
Subject digest:
dbbd32025b9f0a313ed60a464f2853088d9ae6771104e7539f56b04d790e1352 - Sigstore transparency entry: 975883142
- Sigstore integration time:
-
Permalink:
gradion-ai/freeact@353636a03ed5be48c336e2e265b44bb7b132c1b8 -
Branch / Tag:
refs/tags/0.8.1 - Owner: https://github.com/gradion-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@353636a03ed5be48c336e2e265b44bb7b132c1b8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file freeact-0.8.1-py3-none-any.whl.
File metadata
- Download URL: freeact-0.8.1-py3-none-any.whl
- Upload date:
- Size: 73.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c7c102e3c33ab6070207def1ca781778a6b8c5736d978ba8f9a782d054e3273
|
|
| MD5 |
4406c075486d379c2efe446e0e376018
|
|
| BLAKE2b-256 |
e12c55f5a955535eb2a8561b80a17c42f71c2e9935fb3f3f944a63afa0c3b9cc
|
Provenance
The following attestation bundles were made for freeact-0.8.1-py3-none-any.whl:
Publisher:
release.yml on gradion-ai/freeact
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
freeact-0.8.1-py3-none-any.whl -
Subject digest:
2c7c102e3c33ab6070207def1ca781778a6b8c5736d978ba8f9a782d054e3273 - Sigstore transparency entry: 975883144
- Sigstore integration time:
-
Permalink:
gradion-ai/freeact@353636a03ed5be48c336e2e265b44bb7b132c1b8 -
Branch / Tag:
refs/tags/0.8.1 - Owner: https://github.com/gradion-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@353636a03ed5be48c336e2e265b44bb7b132c1b8 -
Trigger Event:
push
-
Statement type: