Skip to main content

Version 3.3

GPT-6.1 Sol launch offer

  • Try GPT-6.1 Sol for free, with no per-user launch credit cap, until October 12, 2026 at 00:00 Europe/Bratislava.
  • Use your Tomdacat key or Tomdacat Code key. Launch usage never deducts regular credits.

A refreshed Studio interface

  • Graphite surfaces, clearer model and input text, a compact navigation rail, and a floating composer.
  • Press + once to reveal modes, image attachment, and reasoning effort together. The plus springs into × while open.
  • A five-stop effort slider with a white thumb, warm fill, smooth track clicks, dragging, keyboard adjustment, and reset to Low.
  • Reduce motion, Solid materials, and Increase contrast in Settings.
  • Masked key and password fields during setup and account updates.

More room for supported reasoning models

  • Low / Medium / High / XHigh / Max effort choices.
  • 16K / 32K / 64K / 128K token limits under Settings → Generation → Token limit. Defaults remain Low and 16K.
  • XHigh suggests at least 32K; Max suggests at least 64K. Increasing effort to High or above, or raising the limit, asks for confirmation before saving.
  • Streaming and fallback requests retain the selected budget. The Coding Plan endpoint now forwards reasoning effort.
  • Thinking and the visible answer share this per-request limit. Supported levels, provider caps, timeouts, credit charges, and plan allowances still apply.

Key verification without generation

  • API keys authenticate through GET /v1/models; Coding Plan keys use GET /code/v1/verify.
  • Setup does not call a model or consume model tokens. A valid key with no active Coding Plan remains on setup with an explanation.
  • Edited keys and canceled verification attempts cannot be saved by a late response.

Installation

v3.3 is packaged as TomDaCatCode-v3.3.rbxmx in the official Google Drive release folder. Import it, save the root Script as a local plugin, and restart Studio. See Installation.

Version 3.1

The headline of this release is Remote Control — watching, chatting with, and optionally approving tool calls for a live Studio session from ai.tomdacat.com/dashboard/code, from anywhere — plus a Toolbox/Creator Store connector and a handful of reliability fixes surfaced by testing against smaller, cheaper models.

Remote Control

  • A new opt-in Remote Control toggle in Settings (also reachable with /remote-control) heartbeats a live session to the dashboard and streams a transcript of what the agent is doing — connection status, messages, tool calls, and results — viewable from anywhere your account is logged in, not just at the Studio machine itself.
  • It isn’t read-only: you can send a plain chat message into the live session from the dashboard, delivered on the plugin’s next heartbeat (a few seconds).
  • Optionally, remote tool approval — turn it on and the dashboard can Allow/Deny/Always Allow a mutating tool call too, not just watch, including a real before/after diff for edit_script. This is a deliberate security-posture change, not a default: while it’s on, dashboard access is equivalent to Studio access for approving code execution. Whichever side decides first (a local click or the dashboard) wins; the other is a safe no-op.
  • A live connection-status dot — green connected, yellow connecting, red disconnected — sits in both Settings and the chat header itself; clicking either jumps to Settings.
  • Requires a Coding Plan on the dashboard side — without one, /dashboard/code shows a short upsell in place of API keys and Remote Control instead of hiding the page or blocking it outright.
Read more →
  • Two new tools, search_toolbox and insert_asset, search the Roblox Creator Store and insert a result directly into the place, wrapped in one undo step.
  • The agent now prefers reusing a decent free asset over building common things (a house, a vehicle, a prop) from scratch, unless you explicitly ask for from-scratch — and picks the best match itself (favoring Free, higher upvote %, closer relevance) instead of asking you to choose.
  • After inserting, the result includes the asset’s real structure (hierarchy, bounding-box size) and an explicit instruction to use it, since the agent can’t see the 3D result visually.
Read more →

Reliability fixes

  • Fixed a bug where certain models (confirmed on diffusiongemma-4-26b) could get an entire turn rejected outright right after a tool call, with the backend error Empty content is not allowed for assistant messages — a tool-call-only assistant turn was being replayed into history with a literal empty string instead of omitting the field, which some backends reject.
  • Fixed a bug where a still-actively-streaming response (especially at higher reasoning effort) could get its connection cut and discarded on a flat elapsed-time cap, even though data was still arriving — the cutoff is now based on actual silence (no data received), not total duration, so a long but genuinely productive stream is never punished for taking a while.
  • Fixed the reasoning/thinking indicator occasionally freezing mid-stream instead of following along, caused by a race in the auto-follow-scroll logic that a fast, continuous stream could trigger far more easily than any other event type.

Version 3

The headline of this release is paying your own way and knowing what it costs — a Robux-subscription Coding Plan alongside the original per-credit API key, a Budget Mode that keeps the tool list itself from burning tokens, and a persistent navigation rail so Chat, History, Subagents, and Settings are always one click away instead of buried behind a header icon.

Coding Plan billing

  • A new Coding Plan auth mode sits alongside the original per-credit API key: a flat, Robux-billed subscription authenticated with a tdcc_-prefixed key against a separate /code/v1/* API, instead of paying per token.
  • The very first screen after Welcome is now an Auth Choice screen — pick “Use my own API key” or “Coding Plan” up front. You’re not locked in: both can be configured at once, and Settings → Account switches between them any time.
  • Coding Plan models show a PREMIUM pill instead of a per-token price, and usage is tracked as three rolling windows — session, weekly, and premium-model — shown as progress bars in Settings instead of a credit counter.
Read more →

Budget Mode & search_tools

  • A new Budget Mode setting changes what the agent sees up front: instead of every tool’s full schema, it sees just one — a new search_tools tool — and has to look up anything else by name or keyword before it’s allowed to call it.
  • This isn’t cosmetic: calling an un-searched tool is actually rejected, by name, with the exact next step spelled out (Error: 'edit_script' hasn't been unlocked yet in Budget Mode -- call search_tools("edit_script") first, then call edit_script again.), not just hidden from a menu. It cuts the fixed token cost of a huge tool catalog on every single turn.
  • Budget Mode is auto-enabled on Lite/Starter Coding Plans and toggleable for everyone else in Settings.
Read more →

A persistent navigation rail

  • The plugin’s single chat-only view is now a proper app shell: a slim icon rail on the left with Chat, History, Subagents, and Settings, always visible instead of tucked behind a header icon or a slide-in sidebar.
  • History moved out of a slide-in overlay and into its own rail tab. Subagent Views did the same — and now shows an unread dot right on the rail icon the moment a subagent finishes, instead of relying solely on a pill above the input.
  • The mode selector (Normal/Plan/Auto) and the image-attach button moved out of the composer’s permanent chrome and into a tray that slides open when you tap the + button next to the input — the collapsed composer stays a single clean row until you need those controls.

Live reasoning streaming

  • Reasoning-capable models now stream their actual chain-of-thought text live, the same way the final answer does — v2.5 only let you pick a Low/Medium/High effort level, it didn’t show you the thinking itself as it happened.
Read more →

Reliability fixes

  • Transient network failures and 5xx responses now retry automatically (up to 3 attempts with backoff) instead of failing the turn outright; a 4xx never retries, since retrying a bad request just repeats the same error.
  • Fixed a bug where a response could arrive, start streaming, then stall permanently — appearing as the agent “reads a skill, thinks, then never responds.” The stream timeout increased from 120s to 180s, and now distinguishes partial content that already arrived (shows a real timeout error) from nothing having arrived at all (falls back to a non-streaming request instead of hanging).
  • Token/usage accounting now reads straight from the stream’s own final chunk instead of a separate envelope event that wasn’t always sent.

Smaller fixes and polish

  • Fixed a rare crash when starting a new chat while a previous response was still mid-stream.
  • The two built-in roblox-ui-design and roblox-3d-building skills got substantially expanded with more patterns and worked examples.
  • The Coding Plan setup screen’s Open Coding Plan dashboard button no longer tries to launch a browser directly (GuiService:OpenBrowserWindowAsync isn’t reliable from a Studio plugin) — it now opens a small dialog with the dashboard link in a read-only, copyable field instead.

Version 2.5

The headline of this release is delegation — memory that persists across sessions, a mode selector that controls how much the agent does on its own, and real subagents it can spawn to work in the background.

Project Memory & Auto Memory

  • A new Memory page (Settings → Memory) holds Project Memory: persistent instructions for this place, always sent to the agent every session — this plugin’s equivalent of a CLAUDE.md.
  • Auto Memory is written by the agent itself via a new remember tool, whenever it learns something worth keeping across sessions: a build quirk, a correction you gave it, a discovered convention. Capped at roughly 25KB, oldest notes trimmed first.
Read more →

Normal / Plan / Auto modes

  • A new 3-way selector sits right under the chat input: Normal (asks per tool, as before), Plan (the agent proposes a plan and waits for Approve/Cancel before touching anything), and Auto (skips every permission prompt, including the always-confirm execute_luau tool).
  • Switching to Auto shows a blocking confirmation dialog spelling out exactly what it bypasses — it’s not a silent toggle.
  • This replaces the old Plan Mode toggle that lived in Settings.
Read more →

Subagents

  • The agent can delegate a task to a background subagent with a new spawn_subagent tool. Before it ever spawns one, it’s required to know which model to run it on — it calls a new list_models tool (real pricing, paid/free, capabilities) and, if you haven’t already said which one, asks you via a new ask_user_question tool with concrete one-click choices.
  • A subagent’s own access depends on the main session’s mode at the moment it’s spawned: Auto Mode gives it full access including execute_luau, fully unattended; Normal/Plan give it everything except execute_luau, with its own tool calls gated by the same Ask/Always Allow/Always Deny settings — surfaced in a new Subagent Views screen, not the main chat.
  • A pill above the input bar (“Open Subagent Views”) appears the moment a subagent finishes, paired with a toast — you don’t have to go looking for it.
  • check_subagent and message_subagent let the orchestrator check on or continue a subagent without dumping its full transcript into its own context.
Read more →

ask_user_question tool

  • Not just for subagent model choices — the agent can ask a clarifying question any time it’s genuinely blocked on a decision only you can make, with one-click suggested answers plus a free-text fallback.

batch tool

  • The agent can now run several independent tool calls in one step instead of one per round-trip — e.g. reading three scripts at once. Each call inside a batch is still gated exactly as if called directly: a mutating call still needs Allow individually (or is skipped under Auto Mode).
Read more →

Version 2.0

The headline of this release is streaming that actually works the way you’d expect, plus a real reasoning/vision-aware model picker.

Stopping, fixed for real

Previously, Stop only took effect between completed round-trips — it did nothing while a response was streaming, and nothing at all if a permission prompt was already open.
  • The streaming connection is now polled for cancellation roughly every 50ms and closed immediately, instead of waiting up to two minutes for the response to finish.
  • Clicking Stop while an Allow/Deny prompt is open now auto-resolves it as Deny, so the loop isn’t left blocked on a button you weren’t going to click.
Read more →

Tool calls stream live

Tool-call arguments now fill into their card token by token as the model generates them — the same card converts in place into the Allow / Deny / Always Allow decision the instant the call completes, instead of appearing all at once after the fact. Read more →

Models: vision and reasoning badges

  • The model dropdown now shows small vision and reasoning icon badges per model, alongside cost and PAID/FREE status.
  • A capability row next to the selector mirrors the currently selected model’s badges, plus a Low / Medium / High reasoning effort picker that only appears for models that support it.
  • Fixed the default-model logic: it now picks the cheapest model that isn’t paid-only, instead of the cheapest model overall (which could be a cheap-but-paid model free-tier accounts couldn’t use).
Read more →

Image attachments

  • A new circle-plus button next to the input attaches an image from disk (png/jpg/jpeg, up to 4MB), sent as a multimodal image_url block alongside your text.
  • Greyed out automatically on models without vision support.
Read more →

New tool: read_console

The agent can now read recent Studio output — prints, warnings, errors — via LogService:GetLogHistory(), with optional filtering. Read more →

Smaller fixes and polish

  • The input bar grows upward as your message wraps to more lines, instead of clipping the last line.
  • A Continue button appears when the agent hits its 25-round tool-call limit, re-sending "Continue" with one click.
  • Markdown tables render as a real grid instead of flat text.
  • The Skills page now surfaces errors from the file picker instead of failing silently.
  • Widened the model selector and added safety truncation so longer model names never collide with their badges.

Version 1.0

The first release. Established the foundations everything in v2 builds on:
  • Core agent loop: send messages and tools, execute tool calls gated by per-tool permissions, repeat until the model returns plain text.
  • Tool catalog: read_tree, get_properties, read_script, edit_script, set_properties, create_instance, move_instance, delete_instance, search_scripts, and the locked-down execute_luau escape hatch.
  • Permissions: per-tool Ask / Always Allow / Always Deny, persisted in plugin settings.
  • A full chat UI: message bubbles, model picker, per-game chat history sidebar.
  • A second dock widget with a real side-by-side diff view for script edits.
  • @ mention autocomplete for instances and scripts.
  • Streaming assistant replies (text only, at this point) with a typewriter effect and a non-streaming fallback.
  • Skills: five built-in playbooks, list_skills/read_skill tools, /skill slash command, and custom skill import via a native file picker.
  • Connectors: an extensible registry, shipping with the Fluency Icons connector and its search_icons tool.