compatibility at a glance
| App type | Examples | Status | Expected behavior |
|---|---|---|---|
| Native macOS apps | Mail, Notes, Messages, TextEdit | Best supported | Standard AppKit and SwiftUI fields usually expose text and caret geometry directly. |
| Browsers | Safari, Chrome, Arc, Firefox | Varies by website | Normal inputs work most reliably; rich-text and canvas editors can expose less geometry. |
| Electron apps | Slack, Discord, Notion, Linear, Obsidian | Generally supported | Works when the embedded editor exposes its text and selection through macOS Accessibility. |
| Office and email | Outlook, Gmail, Google Docs | Editor-dependent | Native and standard browser fields work; document canvases and custom editors can vary. |
| Code editors | VS Code, Cursor | Surface-dependent | Editor and chat fields can suggest; integrated terminals are off by default. |
| Secure input | Passwords, passcodes, card fields | Intentionally excluded | Cotabby declines fields that macOS or its safety checks identify as sensitive. |
| Standalone terminals | Terminal, iTerm2, Ghostty | Intentionally excluded | Shell completion and command shortcuts take priority over autocomplete. |
Status describes field behavior in the public release, not certification of every version of each third-party app. Report exact app and editor versions when behavior differs.
inline text or a popup card
Cotabby's Automatic display mode uses inline ghost text when the app exposes reliable caret geometry. When geometry is estimated or unstable, a popup card near the field can be the safer presentation.
A popup therefore does not mean the field is unsupported. Open Settings → Appearance → Suggestion Display to compare Automatic, Inline, and Popup for a specific editor.
why apps behave differently
Native fields usually expose the current text, selection, and cursor position directly to macOS. Cotabby can use that data to request and position a suggestion.
Browsers and Electron apps add another layer. A standard HTML input or textarea generally maps cleanly to macOS accessibility. Rich-text editors may split a paragraph into many elements or manage the cursor in JavaScript, so available context and ghost-text placement can differ from site to site.
if suggestions do not appear
- Confirm Cotabby is enabled globally and the current app is not disabled.
- Check Accessibility and Input Monitoring under System Settings, then Privacy & Security.
- Place the cursor in a normal editable field and type a complete phrase.
- Quit and reopen the affected app after granting permissions.
- Test Notes or TextEdit to separate an app-specific issue from a global setup issue.
- Verify the selected model has completed downloading and is running.
intentional exclusions
Cotabby does not activate in password fields. It also stays out of terminals, where intercepting Tab or backtick would conflict with command-line behavior and shell completion.
Individual applications can be disabled from Cotabby Settings. This is useful for editors with specialized keyboard behavior or for apps where you simply do not want automatic suggestions.
VS Code and Cursor integrated terminals have a separate opt-in setting. Keeping them off does not disable normal editor or chat fields in the same application.
report a compatibility issue
A useful report includes the app name and version, macOS version, Cotabby version, editor or website, selected model engine, and the smallest sequence that reproduces the problem. Do not include private writing or screenshots containing sensitive text.
Submit a report through Cotabby feedback or open a public issue in the GitHub repository. For data-flow questions, read the security page.
For symptom-by-symptom checks, use the Cotabby troubleshooting guide.