Skip to content

Releases: mvanhorn/agent-tincan

v0.11.2

Choose a tag to compare

@mvanhorn mvanhorn released this 04 Oct 05:47
b983494

The good-at lines teammates show by default now match what each one can actually do, and the product tools get one too.

  • Accurate default lines (#119). Agents pick whom to ask by these lines, and several overclaimed. claude-web now says Claude makes no images. history names all eight sources it reads (ChatGPT, claude.ai, Grok, Gemini, Copilot, Codex, Claude Code, Grok CLI). council names who sits (web, CLI and webhook agents, not Claude Code) and that asks are held for your approval by default; dot-web says the same about its hold. grok-web attaches no videos, and gemini-web names your connected Gmail, Drive and Calendar instead of promising images.
  • Default lines for product tools. Claude Code, Codex, Gemini CLI, Grok CLI and the ChatGPT connector now show a line describing the tool as Tincan runs it, including when they joined without --kind. Agents on a VM, sandbox or schedule, Hermes and OpenClaw still show none, since what runs there differs per owner. Lines you wrote always win.
  • The agent instructions, tincan web help, README, adapter docs and site no longer say Claude or Copilot web answers carry generated images; Gemini images are best effort.

Upgrade

  • Relay first, from an admin device: tincan relay-upgrade --from-github v0.11.2 (the relay needs --dist and, for --from-github, --release-url). The default lines come from the relay.
  • Then tincan upgrade on each agent when convenient, and restart its long-running tincan processes (tincan mcp servers, wait and listen loops) or reconnect tincan in its app, for the corrected instructions and help.
  • Agents that only read saved instructions (scheduled agents like Fo, apps where you pasted them): run tincan onboard --section agents and paste the instructions again.

v0.11.1

Choose a tag to compare

@mvanhorn mvanhorn released this 04 Oct 02:55
1c3035b

Tincan now tells you when an agent it woke never checked in, and failed wakes no longer write secrets to the relay log.

  • Unanswered wakes (#116). When the relay wakes a webhook or email agent and it does not poll within --wake-grace (default 10 minutes), the agent shows unanswered="woken 12m ago, no check-in (webhook ok)" in tincan agents and list_agents, tincan top flags it UNANSWERED, an ask to it says it was woken and has not checked in (the request stays queued), and tincan doctor on an admin device lists it with the last wake result. A failed send counts at once; the next poll clears it. Found live: a Grok Bot app outage left GrokBot unable to start sessions from its webhook for hours while Tincan showed an ordinary offline agent.
  • Security fix: a failed webhook or AgentMail send used to write the raw transport error, including the webhook URL's path and query token or the AgentMail API key, to the relay log. The log, the audit log and the roster now carry only a safe reason (<host> returned <status> or POST to <host> failed: <cause>).

Upgrade

  • Relay first, from an admin device: tincan relay-upgrade --from-github v0.11.1. Detection and the log fix are relay-side.
  • Then tincan upgrade on each agent when convenient, and restart its long-running tincan processes (tincan mcp servers, wait and listen loops) or reconnect tincan in its app, for the new roster, ask and doctor text.

v0.11.0

Choose a tag to compare

@mvanhorn mvanhorn released this 03 Oct 21:42
270e1c1

Agents that follow a moved relay on their own, a line per teammate saying what it is good at, and a live view of the mesh.

  • Relay moves are found without anyone stepping in (#113). When the saved relay address goes silent, a client reads the local Tailscale netmap (LocalAPI first, tailscale status --json as a fallback), probes every IPv4 peer on the same port, follows only the one that proves the relay key, saves the new address and retries. This now works for long-running services on macOS too, where the Tailscale app has no socket file and its CLI fails under launchd. A slow relay that still proves its key is kept, the search runs in the background with its own deadline, and tincan doctor says why a search found nothing. A userspace tailscaled on a custom socket is reached with TS_SOCKET.
  • Good-at lines (#111). tincan good-at muse "phone calls; fast pickup" gives a teammate one line, in your words, saying what it is good at. tincan agents and list_agents show it as good_at="...", and agents choose whom to ask by it. History, notes, council and the web teammates show a stock line until you write one. Standing instructions now also say to send a real-world action (a call, a payment, a booking) to one teammate at a time. A line grants nothing.
  • tincan top shows the whole mesh live in one terminal, with agents that need attention first (#109).
  • Invite codes are stored on the relay as HMAC digests under a new invite-pepper file instead of in plain text (#108).
  • Grok Bot setup for hosts that are wiped and restored, with a no-sudo startup script (#110).
  • Extension 0.6.1: the Web Store listing no longer carries the site list it flagged (#107).

Upgrade

  • Relay first, from an admin device: tincan relay-upgrade --from-github v0.11.0. The relay creates invite-pepper in its state dir on first start; back it up with relay.db. Invite codes minted before the upgrade and not yet used stop working; mint new ones. An older relay refuses tincan good-at.
  • Then tincan upgrade on each agent, and restart long-running services (web teammates, history, council, tincan listen) so they pick up relay discovery. MCP agents get the new guidance after the reload notice.
  • Set lines for your general agents, for example tincan good-at muse "..." and tincan good-at fo "...".
  • Paste the standing instructions again (tincan onboard --section agents) into agents that only read saved instructions, scheduled agents like Fo in particular.
  • Update the extension to 0.6.1 when the Web Store offers it.

v0.10.1

Choose a tag to compare

@mvanhorn mvanhorn released this 30 Sep 07:08
36f9a9d

A Council fix found in the v0.10.0 live test.

  • A council chaired by a web teammate no longer ends its verdict's minority section with the chairman's own conversation footer (for example claude.ai conversation: <id>) (#105).

Upgrade

  • Relay: tincan relay-upgrade --from-github v0.10.1 from an admin device.
  • The machine that runs Council: tincan upgrade, then restart the council service (launchctl kickstart -k gui/$(id -u)/com.agenttincan.council on macOS).
  • Other agents can upgrade with tincan upgrade when convenient; nothing else changed.

v0.10.0

Choose a tag to compare

@mvanhorn mvanhorn released this 30 Sep 05:42
7668832

Council, and your OpenAI dot as a teammate.

  • Council (#101). LLM Council on the subscriptions you already have. tincan council "question" puts one question to every model on your team: each answers on its own, they rank each other's answers blind, and a chairman writes the verdict. You get the recommendation, the ranking, a local HTML report and a PNG scorecard. Agents convene one by asking the council teammate, held for your approval by default. tincan council leaderboard ranks who wins your councils. See docs/adapters/council.md.
  • Your OpenAI dot as dot-web (#102), both ways, through the Tincan Chrome extension with nothing installed on the dot. A teammate's request is typed into the dot's DM, and the dot can ask teammates with @tincan ask <agent>. Requests to it are held for your approval by default, because the dot can act in the apps you connected to it. See docs/adapters/web-agents.md.
  • The dot sits on councils (#103). Its answers stay blind in review, a council prompt's leading "new chat" line is not typed into its DM, and a council's asks to it skip the dot's hold only when you approved the council question.
  • tincan held shows each held request's target kind and its attachment names and sizes.

Upgrade

  • Relay first: tincan relay-upgrade --from-github v0.10.0 from an admin device (the relay needs --release-url), or tincan relay-upgrade after dropping the release into --dist. An older relay refuses the council and dot-web kinds.
  • Agents: tincan upgrade, then reload your MCP server as tincan doctor describes.
  • Dot: tincan kind dot-web dot-web from an admin device; dot-web refuses to start without that kind.
  • Council: tincan invite council --kind council, then tincan council install and tincan council doctor.
  • Chrome extension: update to the version in this release for the dot ops.

v0.9.0

Choose a tag to compare

@mvanhorn mvanhorn released this 29 Sep 03:41
84a37d3

Teammates that run on their own schedule, and safer version checks.

  • Scheduled agents (#97). A new schedule wake method and scheduled kind for agents that cannot be woken but check their inbox on their own cron, like Fo on Wajo. Add {"<name>": {"method": "schedule", "every": "5m"}} to wake.json: the roster shows wake=schedule (every 5m) and flags an agent that misses its checks, and a pending ask tells the sender when to expect a reply. See docs/adapters/scheduled.md.
  • Version checks. tincan doctor warns instead of failing when your client is newer than the relay's release, and tincan upgrade no longer downgrades a newer client (including a stable release over the relay's prerelease) unless you pass --force. tincan relay-upgrade accepts a stable release over the relay's own prerelease.

Upgrade

  • Relay first: tincan relay-upgrade --from-github v0.9.0 from an admin device (the relay needs --release-url), or tincan relay-upgrade after dropping the release into --dist. Upgrade the relay before adding a schedule entry to wake.json or inviting a scheduled agent; an older relay refuses both.
  • Agents: tincan upgrade, then reload your MCP server as tincan doctor describes.

v0.8.0

Choose a tag to compare

@mvanhorn mvanhorn released this 28 Sep 22:41
a281666

Easier upgrades and a steadier relay.

  • Relay self-upgrade (#93). From an admin device, tincan relay-upgrade upgrades the relay from its own --dist, checksum-verified, and restarts it cleanly. Start the relay with --release-url https://github.com/mvanhorn/agent-tincan/releases/download and tincan relay-upgrade --from-github vX.Y.Z fetches the release too, so no shell access to the relay host is needed.
  • Prompt shutdown (#94). The relay exits within milliseconds on SIGTERM instead of waiting out held polls, a second SIGTERM exits at once, and wakes that were pending at shutdown are re-armed on the next start.
  • Stale MCP servers (#92). A running tincan mcp notices when its binary was upgraded and tells the agent how to reload for its app. tincan doctor and tincan upgrade list MCP servers still on an old build.
  • Maintainers: make release runs the whole release, including the Chrome Web Store upload (#95); CI runs on every pull request (#90); a flaky native host test is deterministic (#89).

Upgrade

  • Upgrade the relay binary once more by hand (or with the operator bot), adding --release-url to its command if you want GitHub upgrades. After that, tincan relay-upgrade handles it.
  • Agents: tincan upgrade, then reload your MCP server as tincan doctor describes.

v0.7.0

Choose a tag to compare

@mvanhorn mvanhorn released this 28 Sep 18:05
0b6fa37

Perplexity and Copilot join the team, from issues #84 and #85 by @BryanTegomoh.

  • Perplexity (#86). perplexity-web asks Perplexity through your own logged-in account in Chrome and replies with the answer and its numbered source links. It checks you are signed in before opening a tab, so it never asks anonymously.
  • Copilot (#87). copilot-web asks your personal Microsoft Copilot the same way, with source links. The history agent can now answer questions about your Copilot chats. Conversations are read through Copilot's own page data with your session; the extension never reads Microsoft tokens.
  • Extension 0.5.0. Perplexity and Copilot are optional sites you grant from the extension's options page, so existing installs get no new permission prompt.

Upgrade

  • Upgrade the relay to v0.7.0 before inviting perplexity-web or copilot-web.
  • The extension update is pending Chrome Web Store review. Until then, load tincan-history-extension.zip unpacked.
  • Copilot can show a "Verify you are human" check; the agent reports it as blocked and backs off. Open Copilot in Chrome and complete it.
  • Live end-to-end runs through the extension are still to come.

v0.6.0

Choose a tag to compare

@mvanhorn mvanhorn released this 28 Sep 05:11
e01b49a

Grok and Gemini join the team, and teammates get better at working together.

New teammates

  • Grok and Gemini on the web (#79, #80). grok-web and gemini-web ask Grok and Gemini through your own logged-in accounts in Chrome, like chatgpt-web and claude-web. Generated images are attached. The history agent can answer questions about your Grok and Gemini chats.
  • Grok CLI and Gemini CLI (#81, #78). grok-cli and gemini-cli are woken by tincan listen --exec like Codex, on a shared wake library (#77) with a lock, a run timeout, backoff with one owner notice, write confinement, and a check that the CLI is wired only to its own teammate. gemini-cli runs Antigravity (agy) with a Google account, or Gemini CLI with an API key. The history agent can also read your Grok CLI sessions.
  • Extension 0.4.0 (#76). Grok and Gemini are optional sites you grant from the extension's options page, so existing installs get no new permission prompt. Missing grants, logouts and anti-bot pages now get their own replies.

Working together

  • Urgent asks (#69). --urgent wakes the teammate at once and puts the request first.
  • Clarifying questions (#74). A teammate can reply needs_input with a question; the asker answers with tincan answer and the same teammate carries on.
  • Progress notes (#70). A teammate can post a short note on a request it is working on.
  • Ask several teammates at once (#71) and gather their replies.
  • Owner approval (#73). approval.json holds requests to chosen agents until you run tincan approve or tincan deny.
  • Search (#72). Find past requests and replies you took part in.
  • Ping (#68). Check a teammate's tincan path without spending a model turn.
  • Queue depth (#66). tincan agents shows queued requests and the oldest wait per agent.
  • Upgrade notices (#67). An agent is told when the relay serves a newer tincan.
  • Follow-ups (#83): pings are answered even behind a long queue, search no longer shows a replaced clarification as a reply, and queue depth leaves out pings.

Upgrade

  • Upgrade the relay to v0.6.0 before inviting grok-web, gemini-web, grok-cli or gemini-cli.
  • The extension update is pending Chrome Web Store review. Until then, load tincan-history-extension.zip unpacked to use Grok and Gemini.
  • gemini-cli without an API key needs TINCAN_GEMINI_ALLOW_UNCONFINED=1; see docs/adapters/gemini-cli.md.
  • Live end-to-end runs of the four new teammates are still to come.

v0.5.5

Choose a tag to compare

@mvanhorn mvanhorn released this 27 Sep 14:48
84152b4

Four contributor issues from @GumbiiDigital, plus a wake fix from @abe238.

  • Agents stay online while they work (#60, #61). tincan listen --exec keeps Codex and Claude Code online in tincan agents while its command runs and during the cooldown, with a 30-minute cap so a hung command drops offline. The history service stays online during its requests.
  • --json for ask, get and inbox (#57, #62). Exit codes: 0 answered, 1 failed, declined, cancelled or expired, 2 pending. Text output is unchanged.
  • Owner-configurable history window (#58, #63). tincan history <source> --days/--max, and ~/.config/tincan/history-window.json for the history service. Limited results now say so. A bad window file fails closed.
  • Structured history queries (#59, #64). A request starting with query: plus a JSON query skips the model step and is strictly validated.
  • Wake re-check (#55). A request that arrives just as a webhook agent's session ends is woken for 30 seconds later if it is still waiting.