Your harness. Your choice
Inspired by Pi <3. Configured with Lua. Built for transparency and customizability
Lunar is deliberately small: a Rust host owns the terminal, model transport, and four tools, while a Lua guest supplies model and provider configuration. It does not impose plan modes, sub-agents, approval prompts, or another workflow between you and the model.
- Want to use your xAI, OpenAI, or Anthropic1 subscriptions? No problem, Lunar can help.
- Want to bring your own provider and API key? Okay, you are one config away.
- Want to easily switch between models, providers, and formats mid session with
no restarts? No problem,
/model(or cmd+shift+m!) is there for you. - Want to get a sample curl request of what the next request will be?
/request slimor/request fullto the rescue. - Want to see where your tokens are going? Use
/contextor/context raw, or keep an eye on the status bar. - Want to change the config and reapply without a restart?
/config. - Want to inspect the provider response headers? Toggle
/debugmode. - Want to see provider responses in plain text instead of rendered markdown?
/markdown - Working across repositories? Use stacks and the LLM will know where to check!
- Want a global default provider/model and per repo overrides?
.lunar/init.luais there for the ride.
brew install --HEAD gszr/taps/lunarOr with Cargo:
cargo install --git https://github.com/gszr/lunarRun lunar, type a prompt, and press Enter. Use /login and /model for a
subscription, or /config to configure a provider. /help lists commands;
lunar --help lists launch options. Ctrl+D quits.
See feature documentation for configuration, examples, and usage.
Lunar is early software for macOS and Linux.
Footnotes
-
Using Anthropic subscription tokens with any non-Claude harness is against Anthropic's policy and may result in an account ban. Use at your own risk. ↩