Fortunately, you can “freeze” the cursor using a custom Userscript. This guide will show you how to install Tampermonkey and apply a script to keep your cursor steady and solid.
Part 1: Getting Tampermonkey
Tampermonkey is the world’s most popular userscript manager. It allows you to run small “patches” of code on specific websites to change how they look or behave.
1. Download for Your Browser
Visit the Official Tampermonkey Website or use the direct store links below:
Chrome / Brave / Edge: Chrome Web Store
Firefox: Firefox Add-ons
Safari: Mac App Store (Note: Safari version usually requires a small one-time purchase).
Opera: Opera Add-ons
2. Enable Developer Mode (Chrome/Edge Only)
In 2026, many browsers require a quick security toggle to run scripts:
Go to
chrome://extensionsoredge://extensions.Switch the Developer Mode toggle (top right) to ON.
Part 2: The “Solid Cursor” Script
Once Tampermonkey is installed, follow these steps to create your theme:
Click the Tampermonkey icon in your browser toolbar.
Select Create a new script.
Delete everything in the editor and paste the following code:
// ==UserScript==
// @name Zoom Docs & AI - Solid Cursor
// @namespace http://tampermonkey.net/
// @version 1.2
// @description Stops the cursor from blinking in Zoom Docs and Zoom AI Companion
// @author Gemini
// @match https://docs.zoom.us/*
// @match https://*.zoom.us/*
// @grant GM_addStyle
// ==/UserScript==
(function() {
'use strict';
const css = `
/* Targets the custom cursor used in Zoom's editor */
.ProseMirror-cursor,
[class*="cursor"],
[class*="caret"] {
/* Keep it visible */
visibility: visible !important;
opacity: 1 !important;
display: block !important;
/* Stop the blink animation */
animation: none !important;
-webkit-animation: none !important;
/* Style adjustment: Make it easier to see since it's static */
border-left: 2px solid #2D8CFF !important;
}
/* Target the AI Companion chat container specifically */
.zm-ai-chat-input-box [role="textbox"] {
caret-color: #2D8CFF !important;
}
`;
if (typeof GM_addStyle !== "undefined") {
GM_addStyle(css);
} else {
const style = document.createElement("style");
style.textContent = css;
document.head.append(style);
}
})();
Go to File > Save in the Tampermonkey editor.
Part 3: How it Works
The script works by injecting a “Global Override” into the Zoom interface.
Most modern text editors (like Zoom Docs) don’t use the default browser cursor; instead, they create a small div element that sits on top of the text and uses a CSS @keyframes animation to fade in and out. By setting animation: none !important, we tell the browser to ignore the “blink” command and keep the element fully opaque at all times.
Customizing Your Theme
Inside the script, you can change the look of your new static cursor:
Change Color: Change
#2D8CFFtored,black, or any hex code.Change Thickness: Change
2pxto4pxif you want a block-style cursor.
Troubleshooting
Not working in the AI Chat? If the AI chat box uses a “Native Caret,” the browser manages the blinking internally. If the script doesn’t stop the blink there, it’s because the browser’s engine is overriding the web code.
Script not loading? Ensure the Tampermonkey icon shows a green “1” when you are on the Zoom Docs page, indicating the script is active.
Part 1: Getting Tampermonkey
Tampermonkey is the world’s most popular userscript manager. It allows you to run small “patches” of code on specific websites to change how they look or behave.
1. Download for Your Browser
Visit the Official Tampermonkey Website or use the direct store links below:
- Chrome / Brave / Edge: Chrome Web Store
- Firefox: Firefox Add-ons
- Safari: Mac App Store (Note: Safari version usually requires a small one-time purchase).
- Opera: Opera Add-ons
2. Enable Developer Mode (Chrome/Edge Only)
In 2026, many browsers require a quick security toggle to run scripts:
- Go to
chrome://extensionsoredge://extensions. - Switch the Developer Mode toggle (top right) to ON.
Part 2: The “Solid Cursor” Script
Once Tampermonkey is installed, follow these steps to create your theme:
- Click the Tampermonkey icon in your browser toolbar.
- Select Create a new script.
- Delete everything in the editor and paste the following code:
JavaScript
// ==UserScript==
// @name Zoom Docs & AI - Solid Cursor
// @namespace http://tampermonkey.net/
// @version 1.2
// @description Stops the cursor from blinking in Zoom Docs and Zoom AI Companion
// @author Gemini
// @match https://docs.zoom.us/*
// @match https://*.zoom.us/*
// @grant GM_addStyle
// ==/UserScript==
(function() {
'use strict';
const css = `
/* Targets the custom cursor used in Zoom's editor */
.ProseMirror-cursor,
[class*="cursor"],
[class*="caret"] {
/* Keep it visible */
visibility: visible !important;
opacity: 1 !important;
display: block !important;
/* Stop the blink animation */
animation: none !important;
-webkit-animation: none !important;
/* Style adjustment: Make it easier to see since it's static */
border-left: 2px solid #2D8CFF !important;
}
/* Target the AI Companion chat container specifically */
.zm-ai-chat-input-box [role="textbox"] {
caret-color: #2D8CFF !important;
}
`;
if (typeof GM_addStyle !== "undefined") {
GM_addStyle(css);
} else {
const style = document.createElement("style");
style.textContent = css;
document.head.append(style);
}
})();
- Go to File > Save in the Tampermonkey editor.
Part 3: How it Works
The script works by injecting a “Global Override” into the Zoom interface.
Most modern text editors (like Zoom Docs) don’t use the default browser cursor; instead, they create a small div element that sits on top of the text and uses a CSS @keyframes animation to fade in and out. By setting animation: none !important, we tell the browser to ignore the “blink” command and keep the element fully opaque at all times.
Customizing Your Theme
Inside the script, you can change the look of your new static cursor:
- Change Color: Change
#2D8CFFtored,black, or any hex code. - Change Thickness: Change
2pxto4pxif you want a block-style cursor.
Troubleshooting
- Not working in the AI Chat? If the AI chat box uses a “Native Caret,” the browser manages the blinking internally. If the script doesn’t stop the blink there, it’s because the browser’s engine is overriding the web code.
- Script not loading? Ensure the Tampermonkey icon shows a green “1” when you are on the Zoom Docs page, indicating the script is active.
