AgentDock

1.7k
Dock Extension
Website Compatibility: Disabling Dock on Your Site

Website Compatibility: Disabling Dock on Your Site

Website owners can disable the Dock extension on specific inputs, sections, or an entire page with a single data-dock="false" attribute.

If you run a website, you may have inputs where an external writing assistant does not belong: a code editor, a terminal emulator, a canvas tool, or an internal admin field. Dock gives you one attribute to opt those out, scoped exactly how you need. You add it to your own markup, and it applies to every visitor.

Add data-dock="false" to opt out. The same attribute works at three scopes, and the value must be exactly "false" in lowercase.

Put the attribute on a single input element and Dock skips just that input. Every other input on the page still gets the button.

<textarea data-dock="false"></textarea>
<div contenteditable="true" data-dock="false"></div>

Put the attribute on any container and Dock skips every input inside it. This is the right scope for a self-contained widget like a code editor.

<div class="code-editor" data-dock="false">
  <textarea>// Code here</textarea>
  <!-- No Dock button on any input inside -->
</div>

Put the attribute on <html> or <body> and Dock does not initialize at all on that page. This is the very first check Dock runs, so the extension exits before doing any work.

<body data-dock="false">
  <!-- Dock does not initialize -->
</body>

ScopeWhere to add itWhat happens
Single inputOn the elementThe button skips that input
SectionOn any containerAll inputs inside are skipped
Entire pageOn <html> or <body>The extension does not initialize

When Dock considers attaching its button to an input, it walks up the DOM from that input toward the root, checking each ancestor for data-dock="false". If it finds the attribute on the element itself, on any container above it, or on the page root, it skips that input. That single walk is what gives you all three scopes from one attribute.

A few details worth knowing:

  • The value must be exactly "false" (lowercase). Any other value is ignored, so a bare data-dock or data-dock="true" does not opt out.
  • It crosses Shadow DOM boundaries. If an input lives inside a web component’s shadow root, the walk continues from the shadow host into the light DOM above it, so the attribute works on custom elements too.
  • Adding the attribute dynamically works. You can set data-dock="false" on elements after they render and Dock will respect it.
  • The page-level check runs once at load. Put data-dock="false" on <html> or <body> in your initial markup so the extension never initializes.

  • Code editors such as Monaco and CodeMirror
  • Terminal emulators such as xterm.js
  • Canvas-based editors
  • Custom rich text editors
  • Internal admin tools

This page is for site owners. If you are a user who wants to turn Dock off on a site you visit, see Settings and Preferences.