Releases: FJRG2007/enigma
Release list
v1.28.0 - Opus default + vision
API: Opus by default + image support
- Default model is now
claude-opus-4-8when a request names none (or a non-Claude id). - Vision / images:
/v1/chat/completionsand/v1/messagesaccept images - OpenAIimage_urlparts (data: or https URLs) and native Anthropicimageblocks - forwarded to Claude Code's vision. - Dashboard Playground: "Enable agent tools" is now a switch (default on), added an image picker, and the model list defaults to Opus.
v1.27.0 - Local agent API + playground
Local OpenAI-compatible API for your coding agents
enigma api serves your local coding agents (Claude Code, and Codex/OpenCode where installed) over one OpenAI-compatible HTTP API, reachable from any OpenAI client library - all of their tools, skills, MCP and sessions, with your existing login. Loopback-only.
- Multi-agent: one server, many backends - route per request by the
modelfield (claude-sonnet-5|codex|opencode). - Accounts / profiles / packs: run requests under a specific account, a profile's mapping, or a pack's isolated context (e.g. Helio) - via
--account/--profile/--pack, a per-request body field, or a persisted default settable from the dashboard. - Formats: OpenAI (
/v1/chat/completions) and Anthropic (/v1/messages), streaming and non-streaming. - Auth: optional bearer key (
--api-key/ENIGMA_API_KEY). - Dashboard: a new Playground tab to test the API (format, backend, account/profile/pack, auth, in-process or HTTP mode, curl output).
v1.26.0 - Reuse and transfer Claude sessions
Reuse and transfer Claude sessions (OAuth ping-pong fix)
The same Anthropic login stored in two Claude config dirs (a managed account and an isolated pack context) could fight itself: Anthropic rotates the OAuth refresh token on every refresh and invalidates the previous one, so whichever dir refreshed last kept working and the other was silently signed out. That left enigma claude showing "signed out" while enigma helio still worked with the same login.
This release reuses one session instead of duplicating it. The refresh token is all that matters - a dir holding a valid one lets Claude Code refresh itself - so moving a session is just copying the credentials and aligning identity. No network call, no re-login.
New
enigma account sessions- list reusable Claude logins (account dirs + pack contexts) with their state.enigma account transfer <target> [source]- copy a live login into a signed-out account (no/login). Auto-picks the freshest source when omitted.- Dashboard "Reuse session" - one click on a signed-out Claude account in the Accounts tab.
- Packs stay in lockstep -
enigma <pack>keeps its isolated context and the managed account it seeds from on one shared session (freshest token wins on launch, any refresh copied back on exit, a blanked account healed from the live context). Your own~/.claudeis never written.
Bumps enigma-cli to 1.26.0 and @enigmax/dashboard to 0.1.72.
v1.25.8 - Packs run with permission bypass by default
Packs (e.g. Helio) now launch with Claude Code's permission bypass enabled by default in their isolated context, so a security harness that issues many tool calls doesn't stop for per-action approval prompts. It honors the global permission-bypass opt-out and only writes the pack context, never your account.
Also includes developer notes in the repo on the three-layer credential-seeding behavior (token + identity/state + the onboarding flag) behind reusing a Claude login in an isolated config dir.
Ships enigma-cli@1.25.8.
v1.25.7 - Pack skips the login/onboarding flow
Fixes enigma <pack> still asking to log in even with a valid seeded token.
Root cause: the isolated context's .claude.json lacked hasCompletedOnboarding, so Claude Code ran its onboarding flow (which asks you to log in) and ignored the perfectly valid token. Seeding now mirrors the seeding account's .claude.json state (onboarding flags, identity, preferences - project history dropped, the pack's own MCP servers kept) into the context, so the agent treats it as the same already-signed-in install and goes straight to chat. It runs even when only the token was kept from a previous launch, so an existing context is repaired on the next run. Only the pack context is written - never your account.
Ships enigma-cli@1.25.7.
v1.25.6 - Pack uses the account you switch to
Fixes enigma <pack> still asking to log in after you switch the seeding account.
The pack kept whatever usable token its isolated context already had, so after changing the account (e.g. default -> a freshly signed-in account) it kept the OLD account's token - whose identity no longer matched the context, making the agent prompt to log in. A per-context account marker now tells a genuine in-context token refresh (keep) apart from an account switch (re-seed the new token and align the identity). Only the pack context is touched, never your account credentials.
Ships enigma-cli@1.25.6.
v1.25.5 - Dashboard login for accounts
You can now log in or re-login any account from the dashboard (Accounts tab):
- An always-available Log in / Re-login button on every account. The local enigma server opens the tool's login (
enigma <tool> <account>) in a new terminal window - the browser can't host an interactive login, so it hands it to a terminal where you complete /login. - Claude accounts now show their real login state: a cached email is no longer shown as 'logged in' when the token is missing/expired, so a stale work account is visible and can be re-authenticated.
- The Packs tab stops showing a 'not signed in' warning when the isolated context already holds a usable session.
Ships enigma-cli@1.25.5 and @enigmax/dashboard@0.1.69.
v1.25.4 - Pack login: keychain-stored sessions
Fixes enigma <pack> asking to log in when the account's real token is stored in the OS keychain (Claude Code on Windows), not in a file.
In that case the account's .credentials.json is blank; the pack was copying that empty file into its isolated context, which blocked the agent from resolving its own session and forced a login. Seeding now copies only a usable token and otherwise leaves the context untouched, so the agent resolves the login itself (keychain) - or you sign in once and the isolated context remembers it.
Ships enigma-cli@1.25.4.
v1.25.3 - Accurate pack login state
Stops the false "session may have expired" warning on enigma <pack>.
A Claude access token that is past its expiry but still has a refresh token is fine - the agent refreshes it automatically. enigma now treats that as a valid login and only warns when an account is genuinely signed out (no token) or unrefreshable (past expiry with no refresh token). The launch warning also points you at a specific signed-in account to seed from.
Ships enigma-cli@1.25.3.
v1.25.2 - Pack login fix
Fixes enigma <pack> (e.g. enigma helio) repeatedly asking you to log in.
The pack seeded its isolated context from the chosen account's credentials on every launch, overwriting a token the agent had already refreshed in place - which broke the next OAuth refresh and forced a re-login. Now the credentials are seeded only when the context has no usable token (first launch, or after a logout), and a stale (expired / not-signed-in) account is flagged with fix steps in both the CLI and the dashboard's account picker.
Ships enigma-cli@1.25.2 and @enigmax/dashboard@0.1.67.