From f0c01e7f35bda650a35460912d17a2e855120ca2 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Mon, 12 Oct 2026 13:31:05 +0700 Subject: [PATCH 1/5] docs(features): MCP starts only while Enable MCP Server is on --- developers/pairing.mdx | 5 ++++- developers/url-scheme.mdx | 9 +++++---- features/mcp.mdx | 4 ++-- integrations/mcp-clients.mdx | 6 +++++- integrations/raycast.mdx | 4 ++-- security/privacy.mdx | 4 ++-- 6 files changed, 20 insertions(+), 12 deletions(-) diff --git a/developers/pairing.mdx b/developers/pairing.mdx index f9d76d82..9ebd4ee4 100644 --- a/developers/pairing.mdx +++ b/developers/pairing.mdx @@ -22,7 +22,7 @@ sequenceDiagram E->>E: verifier = randomBytes(32).base64url E->>E: challenge = base64url(SHA-256(verifier)) E->>T: open tablepro://integrations/pair
?client=…&challenge=…&redirect=…&response_mode=query&state=… - T->>M: lazy-start server + T->>M: start server (refused while MCP is off) T->>U: Approval sheet (client, destination, scopes, connections, expiry) U->>T: Approve T->>T: mint token, hold pending exchange
{ code, plaintext, challenge }, 5 min @@ -175,6 +175,9 @@ re-pairs should stop using its old one. Revoke either under ## Errors +With **Enable MCP Server** off, the pair link stops before the approval sheet with an alert that +names **Settings > MCP**. No redirect is opened, so the extension sees no answer. + A failed verification burns the code, so retrying with a guessed verifier is not an option: start a new pair request. diff --git a/developers/url-scheme.mdx b/developers/url-scheme.mdx index 2ae7e4a2..3d9eba38 100644 --- a/developers/url-scheme.mdx +++ b/developers/url-scheme.mdx @@ -17,7 +17,7 @@ Raycast extension with `open()` from `@raycast/api`. | [`connect//query?sql=…`](#run-a-query) | A query tab with the SQL prefilled, after a confirmation | | [`import?…`](#import-a-connection) | A review sheet that saves a new connection | | [`integrations/pair?…`](#start-pairing) | The pairing approval sheet | -| [`integrations/start-mcp`](#lazy-start-the-mcp-server) | Nothing. Starts the MCP server and returns | +| [`integrations/start-mcp`](#start-the-mcp-server) | Nothing. Starts the MCP server and returns | | [`settings/`](#open-a-settings-pane) | Settings on that pane, or on the last-used pane | ## Connection IDs are UUIDs @@ -126,14 +126,15 @@ open "tablepro://integrations/pair?client=My%20Launcher&challenge=E9Melhoa2OwvFr [Pairing](/developers/pairing) has the exchange step and the error codes. -## Lazy-start the MCP server +## Start the MCP server ```text tablepro://integrations/start-mcp ``` -Starts the MCP server if it is not running, then returns. MCP does not have to be enabled in Settings -first. The bundled `tablepro-mcp` CLI uses this to bootstrap on a cold launch. +Starts the MCP server if it is not running, then returns. The bundled `tablepro-mcp` CLI uses this +to bootstrap on a cold launch. With **Enable MCP Server** off in **Settings > MCP**, the start is +refused: no listener, no alert, and a launch made only for this URL quits again. The server takes the configured port (`23508` by default) and falls back to a kernel-assigned free port when that one is busy. The **Status** row in **Settings > MCP** shows the port it bound. diff --git a/features/mcp.mdx b/features/mcp.mdx index a42ce9b9..fc6870cb 100644 --- a/features/mcp.mdx +++ b/features/mcp.mdx @@ -16,9 +16,9 @@ This page covers the **Settings > MCP** pane. The protocol itself, the tool cata Open **Settings > MCP** and turn on **Enable MCP Server**. The **Status** row underneath is how you check it before touching a client config: it reads **Running on port 23508**, or **Stopped**, or the reason it failed. -Leaving the toggle off does not keep the server down. It starts on demand when a client launches the bundled `tablepro-mcp` bridge and when you pair an extension, so turning the toggle off stops the listener but not those paths. +With the toggle off, nothing starts the server. A client that launches the bundled `tablepro-mcp` bridge gets "The TablePro MCP server is turned off" within a second instead of a timeout, and pairing an extension stops at the same message with **Open MCP Settings**. -While it is only answering a client, TablePro stays out of the Dock and the app switcher. It appears in both, with its menu bar, once it has a window on screen, including one a client asked it to open. +While it is only answering a client, TablePro stays out of the Dock and the app switcher. It appears in both, with its menu bar, once it has a window on screen, including one a client asked it to open. A TablePro the bridge launched while the toggle is off quits again. The default port is **23508**. If it is taken, TablePro asks the kernel for a free one instead. Either way the real port goes to `~/Library/Application Support/TablePro/mcp-handshake.json`, which the bridge reads, so a client config never carries a port. diff --git a/integrations/mcp-clients.mdx b/integrations/mcp-clients.mdx index 63955742..da139405 100644 --- a/integrations/mcp-clients.mdx +++ b/integrations/mcp-clients.mdx @@ -104,7 +104,7 @@ Click **Connect a Client…** in **Settings > MCP**. The sheet covers Claude Des ## What the config leaves out -TablePro does not have to be open first. Finding no trusted handshake, the bridge runs `open -g tablepro://integrations/start-mcp` and polls for one every 200ms for up to 10 seconds. A TablePro started that way stays out of the Dock, the app switcher and the menu bar until it has a window to show; open the app yourself and it behaves normally for the rest of that run. +TablePro does not have to be open first, but **Enable MCP Server** has to be on. Finding no trusted handshake, the bridge runs `open -g tablepro://integrations/start-mcp` and polls for one every 200ms for up to 10 seconds. With the toggle off, TablePro refuses the start and the bridge exits with that error at once. A TablePro started that way stays out of the Dock, the app switcher and the menu bar until it has a window to show; open the app yourself and it behaves normally for the rest of that run. The token is not yours to manage either. Each server start mints one named `__stdio_bridge__`, writes it into the handshake file, and rotates it 15 minutes before its one-hour expiry. It is **Read & Write**, so an agent on the bridge can read and write but cannot call `confirm_destructive_operation`. @@ -153,6 +153,10 @@ Clients see the full [tool catalog](/developers/mcp-tools), the [resources](/dev The bridge writes its failure to stderr and as a JSON-RPC error, so the message in the client names the layer that refused. +### The TablePro MCP server is turned off + +**Enable MCP Server** is off in **Settings > MCP**. Turn it on, then relaunch the client. + ### TablePro is not running The bridge could not launch the app, or got no trusted handshake within 10 seconds. Open TablePro and check that **Settings > MCP** shows the server running; if it does, toggle **Enable MCP Server** off and on, then relaunch the client. diff --git a/integrations/raycast.mdx b/integrations/raycast.mdx index bae66fd9..6b4e7726 100644 --- a/integrations/raycast.mdx +++ b/integrations/raycast.mdx @@ -20,7 +20,7 @@ It defaults to `/Applications/TablePro.app`, so change it only for a build that ## Pair -Run **Pair with TablePro**. An approval sheet opens in TablePro where you pick the scope (read-only +Turn on **Enable MCP Server** in **Settings > MCP** first; with it off, pairing stops at an error. Then run **Pair with TablePro**. An approval sheet opens in TablePro where you pick the scope (read-only to start), the connections the token may reach, and an optional expiry. Approving sends a one-time code back to Raycast, which exchanges it for a token over localhost. [Pairing](/developers/pairing) documents the protocol. @@ -74,6 +74,6 @@ under Raycast's [privacy policy](https://www.raycast.com/privacy). | Symptom | What to do | |---|---| | Paired, but the connection list is empty | TablePro omits every connection the token cannot reach. Either the allowlist you approved left it out, or its **External Clients** level is **Blocked**. Re-pair with the connection selected, or raise the level in the [connection form's Options tab](/connections/connection-form#options). | -| Commands hang on a running TablePro | The MCP server is stopped. The extension opens `tablepro://integrations/start-mcp` and retries on its own; give it a moment. | +| Commands hang on a running TablePro | The MCP server is stopped. Turn on **Enable MCP Server** in **Settings > MCP**; the extension retries on its own. | | `401` | The token was revoked or has expired. Run **Pair with TablePro** again. | | `403` and other MCP errors | See [MCP client troubleshooting](/integrations/mcp-clients#when-it-does-not-work). | diff --git a/security/privacy.mdx b/security/privacy.mdx index bcf47493..e60330ba 100644 --- a/security/privacy.mdx +++ b/security/privacy.mdx @@ -12,7 +12,7 @@ Three requests leave a stock install without you asking: one usage heartbeat a d | [Plugin catalog](#the-plugin-catalog) | `raw.githubusercontent.com` | Yes | None | | [AI provider](#ai-providers) | whichever provider you add | No provider is configured on a fresh install | Delete the provider, or turn off **Enable AI Features** | | [iCloud sync](#icloud-sync) | your own iCloud account | No | **Settings > Sync** | -| [MCP clients](#the-mcp-server) | nowhere: it listens on `127.0.0.1` | Off, but starts on demand | **Settings > MCP** | +| [MCP clients](#the-mcp-server) | nowhere: it listens on `127.0.0.1` | No | **Settings > MCP** | | [License and team library](#license-checks-and-the-team-library) | `api.tablepro.app` | Only after you activate a license | Do not activate one | | [Your databases](#your-database-connections) | the hosts you type into the connection form | Only what you connect to | Do not connect | | Crash reports | Nowhere. The app has no crash reporter. | - | - | @@ -95,7 +95,7 @@ With password sync off, secrets are written `kSecAttrAccessibleAfterFirstUnlockT The server listens on `127.0.0.1` and nothing else. Its listener sets `requiredLocalEndpoint` to the IPv4 loopback address, so there is no remote mode and no setting that opens it to your network. Default port 23508. -It is off by default, but it starts on demand: the bundled bridge and the pairing flow both start it. What a paired client can reach is real data, so four gates stack: +It is off by default, and nothing starts it while **Enable MCP Server** is off: not the bundled bridge, not the pairing flow, not a `tablepro://integrations/start-mcp` link. What a paired client can reach is real data, so four gates stack: 1. **Require authentication**, on by default. With it on, a request that arrives without an `Authorization` header is refused. Turn it off and a loopback caller with no header is allowed instead, capped at `tools:read` and `resources:read` however much it asks for. 2. The token's scope and its connection allowlist. From 3942747fc91bac7be8790b2fb6531314aae23dd3 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Mon, 12 Oct 2026 13:31:15 +0700 Subject: [PATCH 2/5] docs(features): approval prompts deny on Return and do not take focus --- developers/pairing.mdx | 3 ++- developers/url-scheme.mdx | 2 +- features/mcp.mdx | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/developers/pairing.mdx b/developers/pairing.mdx index 9ebd4ee4..7247e335 100644 --- a/developers/pairing.mdx +++ b/developers/pairing.mdx @@ -157,7 +157,8 @@ The sheet names the client and counts down the five minutes the request is good the link asked for, movable in either direction), **Allowed Connections** (all, or a checked subset), and **Expiration** (never, 1, 7, 30 or 90 days). A link that asks for `connections:display` adds **List connections hidden from AI**, off until the user ticks it. The link's parameters are a -request, not a grant. +request, not a grant. **Deny** is the default button: Return and Escape both deny, and **Approve** +takes a click. The sheet does not take focus from another app; TablePro's Dock icon bounces instead. Approving mints the token, holds the plaintext against a one-time code for 5 minutes, and opens the redirect. Pairing again mints a second token rather than replacing the first, so an extension that diff --git a/developers/url-scheme.mdx b/developers/url-scheme.mdx index 3d9eba38..a8b1f9e6 100644 --- a/developers/url-scheme.mdx +++ b/developers/url-scheme.mdx @@ -85,7 +85,7 @@ tablepro://connect//query?sql= ``` A dialog titled **Open Query from Link** appears first, previewing the first 300 characters of the -SQL; **Open Query** opens the tab. Nothing executes, the user runs it from the editor. A tab already +SQL; **Open Query** opens the tab, and Return or Escape cancels. Nothing executes, the user runs it from the editor. A tab already holding exactly this SQL comes to front instead of a second one opening. `sql` is required and caps at 51,200 UTF-16 units. Longer than that and the link is dropped. diff --git a/features/mcp.mdx b/features/mcp.mdx index fc6870cb..f33990fb 100644 --- a/features/mcp.mdx +++ b/features/mcp.mdx @@ -64,6 +64,10 @@ The question always arrives as a dialog on your Mac, never through the client. A answer it in its own interface could also answer it without asking you, and this is the gate that decides whether it reaches the connection at all. +The dialog does not take focus from the app you are typing in. TablePro's Dock icon bounces until +you switch to it, **Deny** is the default button, and Return and Escape both deny. **Allow** takes a +click. + Nothing here times out. Whoever sent the request decides how long to wait for you, and an answer counts whenever you give it. From 94bdbbe9a1a963edc146c875da2902e16a23a125 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Mon, 12 Oct 2026 13:46:31 +0700 Subject: [PATCH 3/5] docs(developers): every MCP request needs a token --- customization/settings.mdx | 1 - developers/mcp-protocol.mdx | 2 +- developers/tokens.mdx | 17 ++++++----------- features/mcp.mdx | 4 +--- security/privacy.mdx | 4 ++-- 5 files changed, 10 insertions(+), 18 deletions(-) diff --git a/customization/settings.mdx b/customization/settings.mdx index d0c4a653..b872c378 100644 --- a/customization/settings.mdx +++ b/customization/settings.mdx @@ -100,7 +100,6 @@ What a fresh install ships with, so one glance down this column says what you ch | MCP | Maximum row limit | 10,000 | | MCP | Query timeout | 30 seconds | | MCP | Log MCP queries in history | On | -| MCP | Require authentication | On | | MCP | Approval | Ask Once for Each Connection | | MCP | Allow apps to list connections hidden from AI | Off | | Sync | Sync this Mac with iCloud | Off | diff --git a/developers/mcp-protocol.mdx b/developers/mcp-protocol.mdx index df17fa75..61599310 100644 --- a/developers/mcp-protocol.mdx +++ b/developers/mcp-protocol.mdx @@ -274,7 +274,7 @@ Present the form, then repeat the **same** call with the answer and the state ec A call that carries `inputResponses` or `requestState` is never cached, whatever the method's normal hint says. -An accepted form stands in for TablePro's own dialog only on a `fullAccess` token. On a `readOnly` or `readWrite` token, and on the anonymous loopback principal, Safe Mode still puts its dialog on the Mac afterwards, so a write is confirmed twice: once in your interface, once in TablePro's. Ask for `fullAccess` at [pairing](/developers/pairing) if the second prompt is not what you want. +An accepted form stands in for TablePro's own dialog only on a `fullAccess` token. On a `readOnly` or `readWrite` token, Safe Mode still puts its dialog on the Mac afterwards, so a write is confirmed twice: once in your interface, once in TablePro's. Ask for `fullAccess` at [pairing](/developers/pairing) if the second prompt is not what you want. ## Errors diff --git a/developers/tokens.mdx b/developers/tokens.mdx index cdb607db..f8c83283 100644 --- a/developers/tokens.mdx +++ b/developers/tokens.mdx @@ -14,22 +14,17 @@ description: Token model, scopes, connection allowlists, expiry, revocation, and | Level | Scopes | What it can do | |-------|--------|----------------| -| Anonymous loopback | `tools:read`, `resources:read` | Read schema and run `SELECT`. | -| **Read Only** | `tools:read`, `resources:read` | The same, under an issued token. | +| **Read Only** | `tools:read`, `resources:read` | Read schema and run `SELECT`. | | **Read & Write** | plus `tools:write` | `INSERT`, `UPDATE`, `DELETE`, connect and disconnect, switch database or schema, open and focus tabs. | | **Full Access** | plus `admin` | Also `confirm_destructive_operation`, the only tool that runs `DROP` or `TRUNCATE`. | -Anonymous loopback is the floor and cannot be raised: the scope check refuses `tools:write` and `admin` to a caller with no issued token, whatever it asks for. - -`connections:display` sits outside the levels. Only [pairing](/developers/pairing#scopes) grants it, and only while **Allow apps to list connections hidden from AI** is on under **Settings > MCP > Connection Access**. The **Generate Token** sheet never does, and an anonymous caller never holds it. It does one thing: lets [`list_connections`](/developers/mcp-tools#listing-for-display) take `purpose: "display"`. A token holding it reads **Lists connections hidden from AI** in the token list. +`connections:display` sits outside the levels. Only [pairing](/developers/pairing#scopes) grants it, and only while **Allow apps to list connections hidden from AI** is on under **Settings > MCP > Connection Access**. The **Generate Token** sheet never does. It does one thing: lets [`list_connections`](/developers/mcp-tools#listing-for-display) take `purpose: "display"`. A token holding it reads **Lists connections hidden from AI** in the token list. `confirm_destructive_operation` also needs the connection's external access to be **Read & Write**, and no permission level skips the user's approval. [Scopes and gates](/developers/mcp-tools#scopes-and-gates) names which tools sit on which scope. -## Require authentication - -**Settings > MCP > Authentication > Require authentication** is on by default. Turning it on for the first time with no tokens yet mints a **Read & Write** token named "Default token" and reveals the plaintext once. +## No token, no access -With the toggle off, a request from your own machine with no `Authorization` header is accepted as the anonymous loopback caller in the table above. Presenting an `Authorization` header still goes through normal token validation, so an invalid token is rejected either way. The server is loopback only, with no remote mode. +A request with no `Authorization` header gets `401` with a `Bearer` challenge, from your own Mac as much as from anywhere else. There is no setting that admits a caller without a token. The server is loopback only, with no remote mode. ## Connection allowlist @@ -100,7 +95,7 @@ Every authentication, tool call, resource read, and query is recorded in `~/Libr | Timestamp | when the call happened | | Token | the token behind the call, by name and id | | Category | `auth`, `access`, `admin`, `query`, `tool`, `resource` | -| Action | `auth.success`, `auth.anonymousLoopback`, `auth.failure`, `auth.rateLimited`, `pairing.exchange`, `pairing.redirectRejected`, `token.created`, `token.revoked`, `server.started`, `server.stopped`, `query.executed`, `tool.`, `resource.read` | +| Action | `auth.success`, `auth.failure`, `auth.rateLimited`, `pairing.exchange`, `pairing.redirectRejected`, `token.created`, `token.revoked`, `server.started`, `server.stopped`, `query.executed`, `tool.`, `resource.read` | | Connection | the connection the call targeted, or `-` | | Outcome | `success`, `denied`, `error`, `rateLimited` | @@ -119,7 +114,7 @@ Entries are chained: each row's hash covers the previous one, so a row cannot be | Failed pairing exchanges | 5 per 5 minutes | | Pairing lockout | 15 minutes | -Request limits are keyed by token id, or by client address for an anonymous caller, and `subscriptions/listen` is exempt. Failed auth attempts are counted per client address, and every client on the Mac shares one, so a client that keeps sending a bad token locks the others out too. A malformed `Authorization` header, a scheme other than `Bearer`, and an unknown, expired or revoked token each count. A request with no `Authorization` header gets the `401` challenge and does not count. A successful auth clears the count. Anything over a limit returns `-33010` with HTTP `429` and a `Retry-After` header. Transport limits such as the body cap are on [MCP Protocol](/developers/mcp-protocol#transport-limits). +Request limits are keyed by token id, and `subscriptions/listen` is exempt. Failed auth attempts are counted per client address, and every client on the Mac shares one, so a client that keeps sending a bad token locks the others out too. A malformed `Authorization` header, a scheme other than `Bearer`, and an unknown, expired or revoked token each count. A request with no `Authorization` header gets the `401` challenge and does not count. A successful auth clears the count. Anything over a limit returns `-33010` with HTTP `429` and a `Retry-After` header. Transport limits such as the body cap are on [MCP Protocol](/developers/mcp-protocol#transport-limits). ## What a token cannot do diff --git a/features/mcp.mdx b/features/mcp.mdx index f33990fb..79f5f7e4 100644 --- a/features/mcp.mdx +++ b/features/mcp.mdx @@ -82,9 +82,7 @@ Tokens that hold this grant read **Lists connections hidden from AI** in the tok ## Authentication -**Require authentication** is on by default. Turning it on for the first time with no tokens yet generates a full-access "Default token" and shows the plaintext once, so copy it then. Create, scope, allowlist, expire and revoke tokens in the same section, described in [Tokens](/developers/tokens). - -With the toggle off, a caller on your own machine is accepted without a token, but only as a read-only caller: schema reads and `SELECT`. Anything beyond reading needs a token you issued. +Every request needs a token, including one from your own Mac. The bundled bridge mints its own, so a client set up through **Connect a Client…** needs nothing from you; an HTTP client or a launcher needs a token you generate or pair. Create, scope, allowlist, expire and revoke tokens in this section, described in [Tokens](/developers/tokens). ## Activity and connected clients diff --git a/security/privacy.mdx b/security/privacy.mdx index e60330ba..3df18f94 100644 --- a/security/privacy.mdx +++ b/security/privacy.mdx @@ -97,12 +97,12 @@ The server listens on `127.0.0.1` and nothing else. Its listener sets `requiredL It is off by default, and nothing starts it while **Enable MCP Server** is off: not the bundled bridge, not the pairing flow, not a `tablepro://integrations/start-mcp` link. What a paired client can reach is real data, so four gates stack: -1. **Require authentication**, on by default. With it on, a request that arrives without an `Authorization` header is refused. Turn it off and a loopback caller with no header is allowed instead, capped at `tools:read` and `resources:read` however much it asks for. +1. A token on every request. One that arrives without an `Authorization` header is refused, from your own Mac too, and no setting changes that. 2. The token's scope and its connection allowlist. 3. The connection's **External Clients** level: **Blocked**, **Read Only** (the default for a new connection), or **Read & Write**. The effective permission is the lower of that and the token's scope. 4. The connection's **AI Policy** of **Never**, its [Safe Mode](/features/safe-mode) level, and the **Approval** setting under **Settings > MCP**, which decides how often a client is asked before it reaches a connection. -Loopback-only describes where the server binds, not everything that can reach it. The server returns CORS headers for two remote origins, `claude.ai` and `app.cursor.com`, so a page you have open there can call your local server from your own browser. The four gates above are what stands between such a call and your data, which is the reason to leave **Require authentication** on. +Loopback-only describes where the server binds, not everything that can reach it. The server returns CORS headers for two remote origins, `claude.ai` and `app.cursor.com`, so a page you have open there can call your local server from your own browser. The four gates above are what stands between such a call and your data, and the first one means a page without a token gets nothing. Every call is written to the local activity log with the token behind it, statements as SHA-256 digests. See [Tokens](/developers/tokens) for the whole model. From 9606b758f1026f5e0d0ec16b239c15fbe832b2c1 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Mon, 12 Oct 2026 13:47:06 +0700 Subject: [PATCH 4/5] docs(integrations): link the bundled tablepro command from Terminal --- customization/general-settings.mdx | 2 +- images/command-line-install-dark.png | Bin 51041 -> 0 bytes images/command-line-install.png | Bin 51096 -> 0 bytes images/command-line-link-dark.png | Bin 0 -> 26625 bytes images/command-line-link.png | Bin 0 -> 26668 bytes integrations/terminal.mdx | 27 ++++++++++++++++----------- 6 files changed, 17 insertions(+), 12 deletions(-) delete mode 100644 images/command-line-install-dark.png delete mode 100644 images/command-line-install.png create mode 100644 images/command-line-link-dark.png create mode 100644 images/command-line-link.png diff --git a/customization/general-settings.mdx b/customization/general-settings.mdx index a4c7e263..728a2f98 100644 --- a/customization/general-settings.mdx +++ b/customization/general-settings.mdx @@ -54,7 +54,7 @@ Older servers have neither: MySQL before 5.7.8, MariaDB before 10.1.1. A stateme ## Command line tool -**Install** writes a `tablepro` command to `/usr/local/bin` that opens database URLs in the app. When it cannot write there, the section prints the command to run in Terminal yourself. See [Terminal](/integrations/terminal). +Shows whether `/usr/local/bin/tablepro` links to this copy of the app, with the Terminal line that links or removes it. The command opens database URLs in the app. See [Terminal](/integrations/terminal). ## Trusted links diff --git a/images/command-line-install-dark.png b/images/command-line-install-dark.png deleted file mode 100644 index c048ca6899ea48c9560d7ca5845b2272e61985e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51041 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

vB?{4NGv#U<`1c278(bCVCr8+EkR$lrHW}~O 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≶@LSbVbhgj`RZJu8S0<>cg?Pr0N|j)<_Zs>;f< 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%0D8>X+qTwz^_}%lWNU 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 literal 0 HcmV?d00001 diff --git a/images/command-line-link.png b/images/command-line-link.png new file mode 100644 index 0000000000000000000000000000000000000000..ed0272bff69bbb1207e5126fc6afb1ce20169890 GIT binary patch literal 26668 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%0AWUc4NYXf+7Y)^%ozI(8vE6j<8 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 General**, find **Command Line**, and click **Install**. It writes a small script at -`/usr/local/bin/tablepro` whose whole body is `exec open -b com.TablePro "$@"`. +The command ships inside the app at `TablePro.app/Contents/SharedSupport/bin/tablepro`, a script +whose whole body is `exec open -b com.TablePro "$@"`. Link it into `/usr/local/bin` once: + +```bash +sudo mkdir -p /usr/local/bin && sudo ln -sf /Applications/TablePro.app/Contents/SharedSupport/bin/tablepro /usr/local/bin/tablepro +``` + +`sudo` asks for your password in Terminal. TablePro itself never writes outside its own folders and +never asks for an administrator password. **Settings > General > Command Line** prints the same line +with the path of the copy you are running, and reads **Linked** once the link is in place. Any other +directory on your `PATH` works too, and one you own needs no `sudo`. - Command Line install section in TablePro settings - Command Line install section in TablePro settings + Command Line section in TablePro settings with the Terminal command to link tablepro + Command Line section in TablePro settings with the Terminal command to link tablepro -That directory is root-owned on a stock macOS install, so expect an administrator password prompt. -Cancel it and nothing is written. If the write fails anyway, Settings prints the exact `sudo` command -to paste into Terminal; run it, switch back, and the status updates itself. - -**Uninstall** removes the script again. When something else already occupies that path, **Install** -is dimmed and Settings says *"A different file already exists at …"*: remove that file first. +To remove it, run `sudo rm /usr/local/bin/tablepro`. The link follows the app, so updating TablePro +updates the command; move the app and the link needs making again. ## Open a file From 5085143ea64deddcc0194f690b04e355301666bb Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Mon, 12 Oct 2026 15:12:33 +0700 Subject: [PATCH 5/5] docs(integrations): replace an old tablepro before linking --- integrations/terminal.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/terminal.mdx b/integrations/terminal.mdx index 3959226a..c282ff7e 100644 --- a/integrations/terminal.mdx +++ b/integrations/terminal.mdx @@ -22,7 +22,7 @@ The command ships inside the app at `TablePro.app/Contents/SharedSupport/bin/tab whose whole body is `exec open -b com.TablePro "$@"`. Link it into `/usr/local/bin` once: ```bash -sudo mkdir -p /usr/local/bin && sudo ln -sf /Applications/TablePro.app/Contents/SharedSupport/bin/tablepro /usr/local/bin/tablepro +sudo mkdir -p /usr/local/bin && sudo rm -f /usr/local/bin/tablepro && sudo ln -s /Applications/TablePro.app/Contents/SharedSupport/bin/tablepro /usr/local/bin/tablepro ``` `sudo` asks for your password in Terminal. TablePro itself never writes outside its own folders and