Futures
Access hundreds of perpetual contracts
CFD
Gold
One platform for global traditional assets
Options
Hot
Trade European-style vanilla options
Unified Account
Maximize your capital efficiency
Demo Trading
Introduction to Futures Trading
Learn the basics of futures trading
Futures Events
Join events to earn rewards
Demo Trading
Use virtual funds to practice risk-free trading
CFD
Stock CFD Derivatives
US Stocks
Access real US stocks and ETFs
HK Stocks
Trade quality Hong Kong-listed stocks
Korean Stocks
SK Hynix
Real Korean stocks and top assets
Stock Futures
High leverage, 24/7 trading
Tokenized Stocks
Backed by real stock assets
IPO Access
Unlock full access to global stock IPOs
GUSD
3.8%
Mint GUSD for Treasury RWA yields
Stocks Activities
Trade Popular Stocks and Unlock Generous Airdrops
Launch
CandyDrop
Collect candies to earn airdrops
Launchpool
Quick staking, earn potential new tokens
HODLer Airdrop
Hold GT and get massive airdrops for free
IPO Access
Unlock full access to global stock IPOs
Alpha Points
Trade on-chain assets and earn airdrops
Futures Points
Earn futures points and claim airdrop rewards
Promotions
AI
Gate AI
Your all-in-one conversational AI partner
Gate AI Bot
Use Gate AI directly in your social App
GateClaw
Gate Blue Lobster, ready to go
Gate for AI Agent
AI infrastructure, Gate MCP, Skills, and CLI
Gate Skills Hub
10K+ Skills
From office tasks to trading, the all-in-one skill hub makes AI even more useful.
Cursor version 3.11 feature tutorial: side chat without interrupting the main window, Cmd+K to revisit past conversations
This article walks you through three new features of Cursor 3.11 all at once: use side chat to ask questions without interrupting the main Agent, use Cmd+K to search through a few thousand old conversations stored locally, and then use Hooks to step in at key points to monitor sub-Agents. Includes a complete runnable hooks.json example, and a “cloud” pitfall you should avoid.
(Background recap: SpaceXAI, Musk’s company, officially released its strongest model “Grok 4.5”! Teaming up with Cursor to aggressively push AI coding agents, with perfect integration with Office office software)
(Additional background: Cursor Mobile launched: a dedicated app that lets you more easily command AI to write code from your phone and supervise the output )
Table of Contents
Toggle
The main Agent is running a big refactor, and you suddenly want to check whether some function is called somewhere else. Previously, you could only stop it, switch away, and interrupt the task that was already running. The three features added in Cursor 3.11 (released July 10, 2026)—side chat, conversation search, and cloud Agent Hooks—just happen to solve this “I don’t want to interrupt the main line” problem.
This article assumes you’re already using Cursor’s Agents, and will teach you how to use the three new features at once, with a hooks.json example and a pitfall your cloud Agent will run into.
Outline of this article
Side chat so the main Agent doesn’t stop; open a separate chat that inherits context
Side chat solves a very specific scenario: while the main Agent is running a long task, you want to detour and ask a question, but you don’t want to interrupt it.
There are three ways to open a side chat—pick whichever is easiest:
The side chat that opens will directly inherit the main conversation’s context, so you don’t need to restate the background—it already knows what you were working on.
The easiest thing to misunderstand here is that side chat’s default behavior is only to do three things: read, search, and answer. It won’t touch your code. Its purpose is to let you follow up, look up information, research an alternative approach, or do a quick sanity-check of a decision before you start making changes—while the main Agent keeps running uninterrupted. If you truly want it to change things, you need to state it explicitly in the conversation.
Each side chat is a complete, long-lasting Agent conversation. It’s not “ask once and discard.” You can come back later and keep asking. When you find a useful conclusion, use @ to bring that side chat back into the main conversation, and the context will reconnect to the main line.
From my own experience, the best use of side chat isn’t asking “What is this?”, but rather: “The main Agent plans to change it like this, but I suspect it will affect X. Can you confirm whether X is relied on elsewhere?” The main line keeps moving, and you verify in parallel—two threads don’t block each other.
Use Cmd+K to search thousands of old local conversations; use Cmd+F to find the current one
If you wanted to find “last week’s Agent conversation—how did it fix that bug,” you basically had to rely on the conversation name or PR number and search slowly. That was painful. Cursor 3.11 adds search into the product, and it comes in two layers.
Search all old conversations: press Cmd+K in the Agents Window
In the Agents Window (Agent conversation view), press Cmd+K to bring up the command palette and directly search the Agent conversation contents (transcript), not just the names and PR numbers. Cursor builds a local search index on your machine, so even if you’ve accumulated a few thousand conversations, searching stays fast.
Because the index is built locally, the content won’t be uploaded to the cloud for searching. This is reassuring for people who care about privacy.
Search the current conversation: press Cmd+F
If you just need to find part of the long conversation you’re currently reading, just use Cmd+F. It will show a match counter (count of matches), letting you jump between matching sections. As you scroll through the long transcript, you can keep searching as well.
One thing to watch for: after upgrading, the index may need a little time to build. If you notice old conversations can’t be found right away, or the chat history looks empty, wait for the index to finish—usually it’s not that data was lost.
Cloud Agent Hooks lets you step in at key nodes to monitor and control sub-Agents
Hooks are the most substantial developer-focused update in this release. They let you attach your own scripts to key nodes in an Agent conversation, and whenever the Agent reaches that node, your script is automatically triggered.
The new nodes added in 3.11 cover several key moments during one Agent conversation cycle:
With these nodes, you can do three things: monitor the full execution process, control a sub-Agent before and after it starts, and build an automatic self-correcting loop—e.g., after the Agent finishes a reply, automatically run a test; if it fails, feed the error back so it can fix itself.
How to write hooks.json, and where to put it
Hooks are configured in hooks.json, with version fixed as 1. There are three possible locations: as long as the file exists, it will be executed:
A minimal runnable example that does two things: whenever the Agent edits a file, run an audit script; when the task stops, write a record:
Paths inside command are relative to the location of hooks.json. Your scripts will receive a JSON blob on stdin (standard input). It includes basic fields like conversation_id, generation_id, model, hook_event_name, plus node-specific fields. For example, beforeSubmitPrompt includes the prompt, and afterAgentResponse includes the reply text.
A script that does nothing except confirm it can receive the data looks like this:
To block an action, only two nodes will recognize it
Here’s an easy pitfall: not every hook can intercept actions. Only beforeShellExecution (before running shell commands) and beforeMCPExecution (before calling MCP tools) will check the JSON returned on your stdout to decide whether to allow it through:
If permission is set to allow, the action proceeds; if deny, it’s blocked; if ask, it prompts you. For other nodes like afterAgentResponse, even if you return permission, they ignore it—they can only observe, log, or trigger other actions, but they can’t block.
Pitfalls for cloud Agent Hooks
If you use Hooks with a cloud Agent, one node will fail outright: beforeSubmitPrompt. The reason is practical: this hook is bound to the session lifecycle at the beginning, but the cloud virtual machine (VM) is created only after the session starts. At the very moment the session begins, the machine doesn’t exist yet—so there’s nothing to run your hook.
From my experience, if you want to use cloud Agents, choose nodes that are bound to “around tool execution,” like beforeShellExecution, afterFileEdit, subagentStart, subagentStop, stop—those are more reliable. Avoid binding to nodes that trigger at the very start of the session.
How the three features work together
The three features are explained separately, but you should try them together to get a feel for how they chain. Here’s a practical scenario:
The main Agent is running a refactor that spans multiple files. You open a side chat (/side) to check “how many places are using this interface,” and the main line keeps running. After you finish checking and determine there’s risk, use @ to bring the side chat conclusion back into the main conversation, so the main Agent handles those places together. Meanwhile, in your hooks.json you’ve attached a stop node: when the refactor finishes, it automatically runs tests. Then you use Cmd+F to jump back into that long conversation and find which functions the Agent said it modified.
After one round, you were never interrupted, and everything you wanted to do got done.
Appendix: Further resources
FAQ
Q1. Will side chat change my code?
A: By default, no. It only reads, searches, and answers. Its purpose is for you to verify and follow up. If you want it to modify code, you must explicitly say so in the conversation.
Q2. If I close side chat, will it disappear?
A: No. Each side chat is a long-lived complete Agent conversation. You can come back later, continue asking, and you can also bring it back into the main conversation with @.
Q3. Does Cmd+K conversation search search the cloud or local?
A: Local. Cursor builds a search index on your computer. The content is not uploaded for searching, so it can scale all the way to thousands of conversations and stays fast.
Q4. After upgrading, why can’t I find old conversations, or is chat history empty?
A: Most likely the local index is still building. Wait for it to finish—usually it’s not that data was lost.
Q5. What’s the difference between Hooks for cloud Agents vs local?
A: The biggest difference is that beforeSubmitPrompt can’t run in the cloud, because when the session starts, the cloud VM hasn’t been created yet. Nodes tied to “before/after tool execution,” such as beforeShellExecution, afterFileEdit, subagentStart, are more stable in the cloud.
Q6. Where should hooks.json be placed for it to take effect?
A: In the project’s .cursor/hooks.json, the user’s global ~/.cursor/hooks.json, or the enterprise’s /etc/cursor/hooks.json. As long as the file exists in those three locations, it will be executed.
Q7. I want the hook to directly block a dangerous command. Can I do that?
A: Yes, but only beforeShellExecution and beforeMCPExecution listen to the permission you return via stdout. Set permission to deny to block. Other nodes can only observe and trigger actions; they can’t block.