A terminal-first AI assistant and interactive runtime for the ttal ecosystem.
Lenos is a bash-only interactive shell for ttal agents — multi-model, session-based, built on the Charm ecosystem. It runs directly in your terminal and gives AI agents the tools to read, write, and execute code in a sandboxed environment.
- Multi-model support — Anthropic, OpenAI, Gemini, AWS Bedrock, GitHub Copilot, Hyper, and more
- Session-based conversations — persistent, resumable AI sessions per project
- Agent skills — composable skill system for customizing agent behavior
- Charm ecosystem — built on Charmbracelet's terminal UI libraries
- ttal native — designed for the ttal agent runtime and temenos sandbox
go install github.com/tta-lab/lenos@latestOr download a pre-built binary from the releases page.
brew install tta-lab/ttal/lenos# Run interactively
lenos
# Run non-interactively
lenos run "Summarize the changes in this PR"
# Pipe content in
cat README.md | lenos run "Make this more concise"
# Continue the most recent session
lenos --continue
# Use a custom data directory
lenos --data-dir /path/to/custom/.lenos
# Run with an explicit model override (ephemeral, no config write)
lenos -m gpt-4o
lenos run -m claude-sonnet-4
# Use the small-tier model (flag alone selects tier — no value)
lenos --small-model
lenos run --small-model
# Combine: small tier with a specific model override
lenos --small-model -m haiku-3.5
# Persist a default model (writes to ~/.local/share/lenos/config.json)
lenos config set-model large gpt-4o
lenos config set-model small claude-haiku-3.5--yoloflag removed: No replacement. All permission prompts now obey the temenos sandbox or the per-tool default. If--yolobehavior is desired, run lenos under temenos with--readonlydisabled.permissions.allowed_toolsconfig field removed: Thepermissionsblock is no longer recognized inconfig.json. All tool permissions are now managed by the temenos sandbox.lenos run --small-model haikusyntax broken: The--small-modelflag was previously a String (taking a model ID). It is now a Bool — the flag alone selects the small tier. To use a specific small-tier model with an override, combine:lenos run --small-model -m haiku. Existing scripts must update.
Lenos looks for a config.json file in the following locations (highest priority first):
.lenos/config.json(workspace config — project-specific overrides)$XDG_DATA_HOME/lenos/config.jsonor~/.local/share/lenos/config.json(global data)$XDG_CONFIG_HOME/lenos/config.jsonor~/.config/lenos/config.json(global config)
See the JSON schema for all available options. See hooks documentation for post-step lifecycle hooks configuration.
| Variable | Description |
|---|---|
LENOS_GLOBAL_CONFIG |
Override global config directory |
LENOS_GLOBAL_DATA |
Override global data directory |
LENOS_CACHE_DIR |
Override cache directory |
LENOS_SKILLS_DIR |
Override skills directory |
LENOS_DISABLE_PROVIDER_AUTO_UPDATE |
Disable automatic provider updates |
LENOS_DISABLE_DEFAULT_PROVIDERS |
Ignore embedded default providers |
LENOS_DISABLE_METRICS |
Disable telemetry |
LENOS_PROFILE |
Enable pprof profiling |
Agent skills extend what Lenos can do. Place skills in:
~/.config/lenos/skills/(global).lenos/skills/(project-local)
Each skill is a directory containing a SKILL.md file.
Lenos is licensed under the Functional Source License, Version 1.1, MIT Future License.
Lenos is a fork of Crush by Charmbracelet, originally created by Kujtim Hoxha and the Charmbracelet team.
The original Crush project provided the foundation for Lenos: the terminal UI, multi-model architecture, and agent skill system. We are grateful to the original authors for their work.
Changes from upstream Crush:
- Module path:
github.com/charmbracelet/crush→github.com/tta-lab/lenos - Binary name:
crush→lenos - Data directory:
.crush/→.lenos/ - Config files:
crush.json→config.json - Environment variables:
CRUSH_*→LENOS_* - Ignore file:
.crushignore→.lenosignore - Context files:
crush.md→lenos.md - Distributed via ttal homebrew tap instead of Charmbracelet channels
The FSL-1.1-MIT license terms are preserved. Original Charmbracelet and Kujtim Hoxha copyrights are retained in LICENSE.md.
