Skip to content

Releases: baalimago/clai

v1.10.0

09 Feb 17:06

Choose a tag to compare

I'm directing clai towards becoming the goto for cli-native powerusers. With the addition of clai -r chat dir it's possible to attach metadata to the shell:
image

  1. Profile
  2. Am tokens used
  3. Dirscope/global scope

The idea is to continue this journey, wherever it takes us. So while it's possible to do agentic coding, there are better tools for this. Clai is
a lot less convenient, requires more setup. But, in these configurations, value lies. I've found clai to be much more token efficient. I
append more context to hone in on a solution to each reply, it's very easy to do so. The requirement is solid terminal comprehension and alignment
to unix pipes + principles.

Breaking changes (v1.10.0)

  • Removed clai cmd command.
  • Removed clai chat new (chat shell is now always the input; interactive creation is redundant).
  • Refactor(breaking): Tools API changed from ToolsRequestedToolGlobs (and tools moved into a public package / new injection approach).

Major features

  • Chat UX upgrades:
    • Continue chat with same profile; profiles are attached to chats.
    • clai chat list improvements: shows profile + token usage; selection by number + Enter; better failure handling (lists chats if ID not found).
    • Smarter continuation behavior: empty-string continue can fall back dirscope → globalscope; auto-fallback to globalscoped chat if dirscoped missing.
    • clai chat dir added (dir-scoped chat functionality).
    • Conversations are always saved, even on exceptions; added replay/dirscope related improvements incl -dre query support.
  • MCP / toolchain improvements:
    • MCP servers can be defined in profiles; envfile support added to MCP spec.
    • Tool selection fixes (GlobToolSelection) and ability to inject/register tools via public package; output can be routed to an io.Writer.
    • Limit agentic tool calls (pkg-level guardrail).
  • Provider/model updates:
    • Huggingface provider support.
    • Default model tweak gpt-5-2gpt-5.2.
    • Sora 2 supports input images (PNG only).
  • Quality/docs/testing:
    • Goldenfile test suite added (incl architecture docs); new/updated architecture docs, examples, showcase.
    • CI/test coverage workflow updates; general lint/vet/cleanup; clai version fixed (again) and clai help formatting fixed.
  • Config/paths:
    • Support overriding Clai config directory; robust XDG_CONFIG_HOME handling; consistent config-dir resolution (GetClaiConfigDir).

Pull requests

  • feat: Pipe images into Sora 2 (png only) by @baalimago in #87
  • feat: pkg/agent + improved tooling callsign for pkg/text/FullResponseQuerier by @baalimago in #88
  • fix: clai help is now properly formatted by @baalimago in #91
  • cleanup: Removed convoluted summary system on rate limit by @baalimago in #92
  • Feature: Allow Clai config directory to be overriden by @abyss in #89
  • feat: MCP server configurations in profiles by @baalimago in #94
  • feat: continue chat with same profile by @baalimago in #95
  • fix: Custom marshaler for polymorphic fields on MCP input ParameterObject by @baalimago in #96
  • fix: Full support of MCP server json schema by @baalimago in #97
  • fix: Tool flag -t=mcp_example*,date now works as expected by @baalimago in #98
  • feat: Huggingface support by @baalimago in #99
  • feat: Envfile in mcp specification by @baalimago in #101
  • feat: Directory scoped conversation via -dre query <continue conv> by @baalimago in #100
  • feat: clai chat dir to see global chat (prevQuery.json) or dirscoped chat by @baalimago in #102
  • feat: Chat upgrades - Shell is always input (no more clai chat new) by @baalimago in #103
  • agentify: Construct architecture and goldenfiles by @baalimago in #104
  • feat: prevQuery.json -> globalScope.json, painted the tui elements by @baalimago in #105
  • docs: Example + README update by @baalimago in #106

New Contributors

  • @abyss made their first contribution in #89

Full Changelog: v1.9.0...v1.10.0

v1.9.9

05 Feb 08:25

Choose a tag to compare

What's Changed

  • feat: Huggingface support by @baalimago in #99
  • feat: Envfile in mcp specification by @baalimago in #101
  • feat: clai chat dir to see global chat (prevQuery.json) or dirscoped chat by @baalimago in #102
  • feat: Directory scoped conversation via -dre query <continue conv> by @baalimago in #100
  • fix: Tool flag -t=mcp_example*,date now works as expected by @baalimago in #98

Full Changelog: v1.9.6...v1.9.9

v1.9.6

14 Jan 05:34
7224bf2

Choose a tag to compare

What's Changed

  • fix: Full support of MCP server json schema by @baalimago in #97

Full Changelog: v1.9.5...v1.9.6

v1.9.5

08 Jan 19:22

Choose a tag to compare

What's Changed

  • feat: continue chat with same profile by @baalimago in #95
  • fix: Custom marshaler for polymorphic fields on MCP input ParameterObject by @baalimago in #96

Full Changelog: v1.9.4...v1.9.5

v1.9.4

04 Jan 16:39

Choose a tag to compare

Full Changelog: v1.9.3...v1.9.4

v1.9.3

04 Jan 14:21

Choose a tag to compare

This one is pretty cool! Using clai -profile-path <path-to-profile> query <some user prompt> it's possible to "build" agents by simply writing a json file.

Example: go run github.com/baalimago/clai@latest -prp examples/profiles/trade-bot.json query 'Run your hourly trade'. This needs npx and pnpx to work due to the mcp servers.

What's Changed

  • feat: MCP server configurations in profiles by @baalimago in #94

Full Changelog: v1.9.2...v1.9.3

v1.9.2

04 Jan 08:14

Choose a tag to compare

What's Changed

  • Feature: Allow Clai config directory to be overriden by @abyss in #89
  • fix: clai help is now properly formatted by @baalimago in #91
  • cleanup: Removed convoluted summary system on rate limit by @baalimago in #92
  • feat(pkg): Limit agentic tool calls in #93

New Contributors

  • @abyss made their first contribution in #89

Full Changelog: v1.9.1...v1.9.2

v1.9.1

25 Dec 08:42

Choose a tag to compare

What's Changed

  • feat: Pipe images into Sora 2 (png only) by @baalimago in #87
  • feat: pkg/agent + improved tooling callsign for pkg/text/FullResponseQuerier by @baalimago in #88

Full Changelog: v1.9.0...v1.9.1

v1.9.0

13 Dec 08:10

Choose a tag to compare

I've introduced breaking changes for the -t/tools flag, hence bump to minor instead of hotfix. The flag is no longer a bool, but a
a string, so running it like clai -t q Hello use some tools wont work. Instead you need to use clai -t= q... or clai -t=* q .... The reason
for this is since it's now possible to specify which tools to use, clai -t=file_tree q Inspect file structure.

Features:

  • Clai as a tool - This enables recursive calling clai -t=clai_* q Please create some workers which research quantum physics
  • New subcommands clai tools + clai profiles so that clai can get context on how it's configured
  • Exported clai as a package: it's now possible to build other apps using clai as agentic engine
  • Pipe in images into omni-models and for image editing
  • New subcommand clai video <prompt> - Video generation with Sora 2
  • Vendors/models for: grok, gemini-3-pro, gemini-flash-image + fixed support for novita and mixtral

What's Changed

Full Changelog: v1.8.0...v1.9.0

v1.8.8

24 Nov 18:55

Choose a tag to compare

Further stabilizations, fixed edgecase where post processing wouldn't work.

Full Changelog: v1.8.7...v1.8.8