Releases: MaorBril/agentic
Release list
v0.1.6
Features
- Auto-reload router config on direct file edits. Editing
~/.agentic/config.yamlby hand now applies to running sessions within ~2s — no restart, no manual/agentic/reload. Previously onlyagentic config sethot-reloaded; a hand edit left the leader serving stale config (this caused aglm52model-id 404 storm in the field). The leader polls the file mtime; followers are covered by proxying to the leader. A bad/half-typed edit is skipped and retried on the next change, so it can never take the router down.
Full diff: #3
Running sessions keep the old router in-process — run agentic update and restart agentic sessions to pick this up.
v0.1.5
Fixes
Fixes turns stalling ~60s (then client disconnect) on non-Anthropic models — most visible during subagent invocation:
- Auto Goal classification is now bounded to 10s like tier routing. It runs inline before the real upstream call, so a stuck classifier stalled the whole turn.
- OpenAI stream translation is ctx-aware and sends keep-alive pings while the upstream is quiet. Slow reasoning models can sit for a minute before the first token; previously zero bytes reached the client and it timed out. Client disconnects now surface as 499 instead of 200, and an empty upstream stream stays a retryable error.
- Parallel tool calls no longer collapse when the provider omits
tool_calls[].index(some xAI/OpenRouter/vLLM builds) — new calls are detected by fresh id. Also fixes split id/name headers emitting a spuriousunknown_toolblock.
Full diff: #2
Running sessions keep the old router in-process — restart agentic sessions (or run agentic update first) to pick this up.
v0.1.4: Fix reasoning:none breaking function tools for GPT-5-class models
Bug fix
Models configured with reasoning: none (e.g. gpt-5.6-sol) were failing every tool-calling request with:
API Error: 400 openai: Function tools with reasoning_effort are not supported for gpt-5.6-sol
in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'.
reasoning: none was treated the same as unset — reasoning_effort was never sent at all. GPT-5-class models require it to be explicitly "none" in the request body to accept function tools on /v1/chat/completions. Since Claude Code always sends tools, this broke every request routed to those models.
Fix: reasoning: none now explicitly sets reasoning_effort: "none" in the translated OpenAI request while still passing through sampling params (temperature/top_p).
No config changes needed — just update the binary.
Surface auto-routing decision in statusline
Changes
When a profile uses dynamic routing (e.g. model: auto), the statusline now shows the resolved model and tier, colored by tier:
auto→opus (deep) · sess $0.004 · day $2.10
Previously, the statusline only showed the literal alias 'auto', leaving the actual routing decision hidden until after the turn completed.
What's New
- Route decisions table: Persists auto-router choices in the store for post-hoc visibility
- Statusline enhancement: Displays tier/model inline with tier-based coloring (magenta/deep, cyan/standard, green/light)
- Non-breaking: Profiles not using routing aliases see no change
Fixes & Improvements
- Store now records which tier the classifier chose for each session
- Statusline can display the actual model without waiting for logs or cost reports
- Full test coverage: store round-trip + end-to-end routing persistence
Previous Release
v0.1.2 added dependency installation prompts for missing claude and clauder CLIs
v0.1.2: Prompt to install missing dependencies
Features
agentic setup,agentic doctor, andinstall.shnow prompt to install missing dependencies- If
claudeCLI or optionalclauderis not found and stdin is a TTY, offer to run the install command with interactive y/N prompt - Non-interactive contexts (piped stdin, CI/sandbox) gracefully degrade to printing the install command for manual installation
install.shalso checks forcurlearly and recommends platform-specific install help if missing
- If
Implementation
- New
cmd/deps.go: sharedpromptInstall()helper for interactive y/N prompts with TTY detection install.shuses/dev/ttyto read prompts even when stdin is piped (crucial forcurl | shworkflows), with safe fallback for sandboxes/CI without controlling terminal- Promoted
github.com/mattn/go-isattyto direct dependency
Testing
All paths verified:
- Interactive prompts (user accepts/declines)
- Non-TTY stdin (piped from other commands, redirected from files)
- No controlling terminal (edge case in some CI/sandbox setups)
agentic v0.1.1
Hardening from the first day of real use.
Fixed
- Aliases hiding the model family: Claude Code picks thinking/sampling/effort config by pattern-matching the model name. Requests routed via aliases (
auto,cheap) are now normalized per target model —thinking: enabled→adaptiveon 4.6+ families, thinking stripped for Fable,output_config.effortstripped for models that reject it, and mid-conversationsystemmessages folded into a<system-reminder>user block for models other than Opus 4.8. - Upstream 4xx/5xx responses now log the actual error message (
WARN upstream error … err="…").
Added
agentic updatenotifies all running instances via clauder that a restart is needed to pick up the new router.- Sessions launch through
clauder wrap --slave(auto-approved tool set for autonomous operation);--no-clauderfor a bare session. agentic budget show— caps and live spend bars per scope.- Profiles can reference dynamic routing aliases (
model: auto).
Full diff: v0.1.0...v0.1.1
agentic v0.1.0
First release.
agentic wraps Claude Code in a thin local router: run your sessions on Anthropic, OpenAI, xAI, or any OpenAI-compatible backend (Ollama, vLLM, OpenRouter), with per-token spend tracking, budget caps, and LLM-triaged dynamic tier routing (/model auto).
Install
curl -fsSL https://raw.githubusercontent.com/maorbril/agentic/main/install.sh | sh
agentic setupHighlights
- No daemon — the first session hosts the router; leader election via port binding, transparent takeover
- Byte-faithful Anthropic passthrough (prompt caching intact) + full OpenAI-dialect translation (streaming, tool use, reasoning models)
- Dynamic routing — a cheap classifier assigns each task to deep/standard/light tiers
- Budgets — daily/weekly/monthly caps with hard-stop, live statusline,
agentic cost - Terminal-first config —
agentic providers/models/routing/budgetwith live hot-reload - Works with clauder for cross-instance messaging and memory