We've shipped Tool Masking, a behind-the-scenes improvement that helps your Agent conversations run longer without hitting context limits as often.

When an Agent uses tools to pull in data on your behalf -- such as info pulled from a web scraping tool, resulting data from the Query Executor tool -- those results can be very large and quickly eat up the conversation's limited context window space. With Tool Masking, if any individual tool result exceeds a certain amount of space, or if the conversation has hit a certain threshold of the available space, those tool results are automatically compressed in the conversation. Therefore, taking up far less space — while still remaining fully accessible if the Agent needs to reference them later - no lost context. This means fewer interruptions and more headroom in complex, multi-step conversations.

See the full documentation here: https://docs.ninjacat.io/docs/chatting-with-agents?isFramePreview=true#understanding-context-windows--conversation-limits

Agent Builder Bob can now create Knowledge Files and assign them to your agent automatically. So while you're building an Agent with Bob, you don't have to figure out what info should live in the foundational instructions vs. writing up a Knowledge file to assign.

Here's how Bob thinks about it: your agent's instructions should cover the core stuff it needs every time — its role, tone, and key rules. Everything else — reference docs, FAQs, process guides — could live in Knowledge Files, so the agent can look things up when they're relevant without being overloaded upfront.

This leaves the user with a better-organized agent with better-managed context, all managed by Bob.

Bob is able to create, read, update and delete knowledge files that he has generated. Bob, however, is not able to touch files that a user has uploaded themselves. This may come with a future iteration.

We've improved how widgets behave in the Template Builder, making the editing experience feel more polished and predictable. Selecting and hovering over widgets now highlights them more accurately, even when widgets overlap or sit on top of image widgets. Dragging a widget stays smooth and controlled regardless of what's underneath your cursor. The right-click context menu no longer causes stray highlights to flicker on the canvas. And clicking a widget will now consistently open its configuration panel every time — no more extra clicks to get it to respond.

Overall, these are mostly backend reliability improvements with a simplified chat streaming flow. Users won't see dramatic new features, but things should feel noticeably smoother and more stable when chatting with Agents. Here are some changes that you may notice:

  • Page reloads no longer break active conversations. If you reload or close and reopen a tab while an agent is still working, you'll be dropped right back in — the conversation will still be there, still streaming. No more corrupted chats from impatient refreshes.
  • Navigating away and coming back works as expected. You can leave an agent's conversation, go elsewhere in the platform, and return to find it exactly where you left it.
  • Stop/Cancel actually stops things now. Previously, hitting Cancel would stop the UI from updating, but the agent kept running in the background, costing money. Now, Cancel is a real cancel: it kills the backend process too, so no unnecessary spend.
  • You can still resume after canceling. If you cancel mid-run and change your mind, you can hit Continue and the agent will pick up from the last completed step — it won't redo work it already finished.
  • Triggered runs now stream visibly. If an agent run is triggered (e.g., via a schedule or automation), you can navigate to that agent and watch it work in real time as it streams in — same experience as a manual conversation.

Users can now set budget alerts at 0% and 100% thresholds, in addition to the existing options (1%, 5%, 10%, 20%, 50%, 75%, 90%). The 0% alert ("Budget Fully Spent") notifies your team when a budget's spend has been completely exhausted. The 100% alert ("New Budget Cycle Started") notifies your team when a new budget cycle begins — useful for confirming that monthly budgets have rolled over and are active. Both thresholds are available in the alert dropdown when configuring budget alerts, and trigger the same email notifications with tailored subject lines and headings.

Managing datasets just got a whole lot easier, especially when you're working with a large list and just need to find datasets from a specific provider. Now you can filter by provider type, so finding what you need takes seconds, not scrolls.

You can now organize your agents with tags. Add tags from the agent list or directly inside agent configuration, and use the Manage Tags modal to rename, delete, and bulk-assign agents to tags from one place. Tags are also available as a filter in the agent list, making it easier to find the agents you need.

Three improvements to the "Add & Remove Campaigns" dialog:

  1. Data Source column — Added a "Data Source" name column to the right-side "Campaigns in Budget" pane, so users with multiple datasources of the same platform can identify which datasource a campaign belongs to.

  2. Column headers visible — Added column headers to the right-pane. Headers (Source, Data Source, Campaign, Status) are now visible, matching the left pane.

  3. New campaign indicator — Newly added (unsaved) campaigns now show a green left-border highlight so users can visually distinguish them from previously saved campaigns.

Added a new info icon button to the top navigation bar across all app sections (main, ADI, booster, change history, untracked). Clicking it copies the current page context to the clipboard — including company name, user, client, budget, and campaign (with IDs), plus the current URL. A popover shows the copied info with a "Copied!" confirmation. This lets customers paste full context directly into support requests, reducing back-and-forth during triage.

New controls and behavior updates that help you manage SEMrush API credit usage directly from NinjaCat.

This update allows you to:

  • Limit rows per API request to avoid over-pulling data
  • Apply API-level sorting (Sort By) so you can combine sort + row limits to fetch only top results
  • View and adjust API-level filters in the Filters tab before data is retrieved
  • Benefit from a reduced default historical backfill window (3 months) to cut down initial credit usage
  • Rely on explicit date fields for date segmentation (date is no longer added automatically)