> ## Documentation Index
> Fetch the complete documentation index at: https://ngquct-feat-ai-sql-walkthroughs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Plugins & Themes

> Install database drivers, import and export formats, and themes from the plugin registry, and keep them updated.

TablePro loads database drivers, import/export formats, and themes as `.tableplugin` bundles. Five driver plugins ship inside the app; the rest download on demand from the plugin registry.

## Bundled plugins

These ship with the app, update with app releases, and cannot be uninstalled:

| Plugin         | Provides                                        |
| -------------- | ----------------------------------------------- |
| MySQL          | MySQL, MariaDB                                  |
| PostgreSQL     | PostgreSQL, Amazon Redshift, CockroachDB        |
| SQLite         | SQLite                                          |
| ClickHouse     | ClickHouse                                      |
| Redis          | Redis                                           |
| Export formats | CSV, JSON, SQL, XLSX, MQL                       |
| Import formats | SQL, JSON, CSV                                  |
| CSV Inspector  | [CSV/TSV file editing](/features/csv-inspector) |

## Registry plugins

These install from the registry when you need them:

| Plugin               | Provides               |
| -------------------- | ---------------------- |
| MongoDB              | MongoDB                |
| Oracle               | Oracle Database        |
| Microsoft SQL Server | SQL Server             |
| DuckDB               | DuckDB                 |
| Cassandra            | Cassandra, ScyllaDB    |
| Etcd                 | etcd                   |
| Cloudflare D1        | Cloudflare D1          |
| DynamoDB             | DynamoDB               |
| BigQuery             | BigQuery               |
| Snowflake            | Snowflake              |
| libSQL               | libSQL, Turso          |
| Elasticsearch        | Elasticsearch          |
| SurrealDB            | SurrealDB              |
| Beancount            | Beancount ledger files |

## Installing plugins

You usually don't install drivers by hand. The database type chooser marks registry drivers you don't have with a **Not Installed** badge; pick one anyway and TablePro downloads the plugin before connecting. No restart needed.

To browse the full catalog, open **Settings** > **Plugins** > **Browse**. Search, filter by category (Database Drivers, Export Formats, Import Formats, Themes, Other), and click **Install**.

<Frame caption="Browse and install plugins from the registry">
  <img className="block dark:hidden" src="https://mintcdn.com/ngquct-feat-ai-sql-walkthroughs/Bj1EoTflf_jG6N_3/images/settings-plugins-browse.png?fit=max&auto=format&n=Bj1EoTflf_jG6N_3&q=85&s=af833b5ad431a888b9130955fa5b0ffd" alt="Plugin registry browser in Settings" width="1560" height="960" data-path="images/settings-plugins-browse.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/ngquct-feat-ai-sql-walkthroughs/Bj1EoTflf_jG6N_3/images/settings-plugins-browse-dark.png?fit=max&auto=format&n=Bj1EoTflf_jG6N_3&q=85&s=3db9f9a2ada63d968170693150ccd09b" alt="Plugin registry browser in Settings" width="1560" height="960" data-path="images/settings-plugins-browse-dark.png" />
</Frame>

To install from a file, drag a `.tableplugin` or `.zip` onto **Settings** > **Plugins** > **Installed**, or click the **+** button there. User-installed plugins live in `~/Library/Application Support/TablePro/Plugins`.

Every plugin is verified before it loads: registry downloads must match the SHA-256 checksum in the registry manifest, and the bundle's code signature must match TablePro's signing team.

## Updates

TablePro compares installed plugin versions against the registry and shows a badge on the Plugins settings tab counting pending updates and plugins that failed to load. Select the plugin under **Installed** and click **Update**.

If a driver has open connections, the update is staged instead of applied. The staged version activates when the last connection using the driver closes, or click **Activate Now** after closing them. Quit before it activates and the update is offered again on next launch.

## After an app update

An app update can raise the plugin interface version. Plugins built against the old version are rejected at load instead of crashing, and TablePro repairs them on its own: at launch it fetches the registry and reinstalls a compatible build of each outdated plugin, retrying after 30 seconds, then 5 and 10 minutes (up to five attempts), when the registry is unreachable or a download fails. It tries again when the network comes back, and connecting to a database whose plugin is outdated updates that plugin first.

Until a plugin is repaired, it appears in a banner in **Settings** > **Plugins** > **Installed** with the reason and an action:

| Action              | Meaning                                                               |
| ------------------- | --------------------------------------------------------------------- |
| **Update Now**      | A compatible build is in the registry. One click installs it.         |
| **Update TablePro** | The plugin requires a newer app version.                              |
| No button           | No compatible build is published yet. TablePro retries automatically. |
| **Remove**          | Deletes the rejected plugin from disk.                                |

## Managing plugins

In **Settings** > **Plugins** > **Installed**:

* Toggle a plugin off to unload its drivers and formats without deleting it; toggle it back on to reload.
* Click **Uninstall** to remove a user-installed plugin from disk. Bundled plugins can't be uninstalled.
* The detail pane shows version, bundle ID, capabilities, database type, and default port. Plugins with their own settings show them here.

macOS can't fully unload a plugin's code until relaunch, so after removing one a banner offers **Quit & Reopen**.

## Themes

Themes are plugins too: install registry themes from **Settings** > **Plugins** > **Browse** under the Themes category. Choose, create, duplicate, import, and export themes in **Settings** > **Appearance**. See [Appearance](/customization/appearance).

## Writing plugins

Want to build your own driver, format, or theme? See [Plugin Development](/development/plugin-development).
