The toolbar
Eight controls, laid out by pane: the sidebar toggle over the sidebar, the connection and its database in the centre, the tab’s own commands after them, and the trailing pane’s toggle at the end.
Two of them change their name. The database control follows the engine’s own word: Schema on Oracle, Catalog on Trino, Keyspace on Cassandra. The commit control follows the tab: Create Table on a new table’s tab, Apply Changes on Users & Roles, Save Changes everywhere else.
What each context leaves out
A control the tab cannot use leaves the toolbar rather than standing there dimmed.
That needs macOS 15. On macOS 13 and 14 the same eight stand in every context and dim where they cannot act, except in two places. Refresh stays enabled on a new table’s tab. So does the commit control on an ER diagram, Server Dashboard, Query Insights, DDL or history tab while a Truncate or a Delete is staged in the sidebar: that queue belongs to the connection, not to the tab in front of it.
The shape settles on a tab switch, a mode switch and a connection switch, and at no other moment. A staged edit, a running query or a dropped connection dims a control; it never moves one.
Actions
One pull-down, rebuilt from the tab you are on each time it opens. Every entry is also a menu-bar command, so nothing lives only here. Finish or close the current dialog before opening another in the same window. Commands such as Restore Previous Values and Export Tables stay dimmed in the menu bar and Actions while a dialog is attached.
Every context ends with Mode, Switch Connection and Close Connection, and Reconnect joins them while the connection is down. A window that has not connected carries those alone, and Mode is absent with AI features off in Settings > AI.
Import Data takes the format from the file you pick and Import Data From beside it names the format and offers every file, which is the same pair the menu bar draws under File > Import.
Add a control back
The toolbar is still yours to arrange. Choose View > Customize Toolbar, or right-click the toolbar, and drag in any of these.
A control you add yourself stays put. It stands in every context and dims when it has nothing to do, rather than leaving the way the default eight do. Your arrangement, and the Show setting in the same sheet, survive a relaunch.
The palette offers a tile for a control the tab you are on has hidden. Drag Refresh in while a new table’s tab is in front and nothing appears until you switch tabs.
The sidebar’s list chooser
Tables and Favorites sit above the filter field, at the top of the sidebar. Tables is the object browser; Favorites is the favorites list for this connection. View > Show Tables and View > Show Favorites pick the same two and reveal a collapsed sidebar on the way. Neither ships with a shortcut. Bind one in Settings > Keyboard, where they are listed under Navigation. In Agent mode the chooser and the filter field go, and the session list takes their height.Filtering the sidebar
The filter field matches any part of a name, sosheet finds timesheet. How far it reaches depends on the layout:
Neither reaches a schema the schema filter hides.
A schema you have not opened is searched from one listing of the whole database, so only its tables and views match. Open the schema to search its procedures, functions, triggers and types too. Until that listing arrives, those schemas stay in the tree, collapsed. Oracle, Snowflake, BigQuery and the other engines whose sidebar lists schemas with no database above them show that tree in both layouts, and the filter checks the tables of every schema in it.
A refresh, or a change made from TablePro, reads again only the schemas the tree has open. A closed schema is read the next time you open it.


The List layout filtered by timesheet
attendance.time keeps the objects in attendance whose names contain time, attendance. shows everything in attendance, and shop.attendance.time names the database too. A table whose own name holds a dot, such as audit.events, still matches when you type that name. Open Quickly takes the same form with fuzzy matching.
Filtering schemas
Choose View > Filter Schemas, or right-click the empty area below the sidebar’s last row, and select the schemas you work in. The sidebar narrows as you select, and selecting none lists every schema again. The filter applies to the database you are browsing, so switch database to filter another. On an engine without schemas, such as MySQL, the command is dimmed.

Ticked schemas stay in the sidebar, the rest leave it
Folders
A folder groups the tables and views of one database or schema. It exists only in TablePro, so filing a table into one changes nothing on the server.1
Make a folder
Click + at the foot of the sidebar and choose New Folder, or choose Database > New Folder. Right-click a table and choose Move to > New Folder to file it in the new folder straight away. Type a name and press
Return.2
File objects into it
Drag tables and views onto the folder, or right-click one and choose Move to and the folder. A selection moves together.


Two folders above the Tables section of the sample database
Cmd+Z restores it.
The filter field reaches inside folders. A folder holding a match opens to show it, and a folder without one is hidden until the field is cleared.
Renaming or dropping a table keeps its folder in step, whether you do it from the sidebar or with SQL as Drop or rename with SQL describes. A renamed table stays filed under its new name, and a dropped one leaves the folder.
Temporary tables
A temporary table belongs to the connection that made it, so the sidebar lists it in its own Temporary section, under Recent. RunCREATE TEMPORARY TABLE in a query tab and the section appears. It goes when you drop the last one or disconnect, since the server drops them with the session.
Click a temporary table to browse its rows, or right-click it and choose Show Structure. Both read the same connection your query tabs run on, and both are read-only.
PostgreSQL, MySQL, MariaDB, SQL Server and SQLite list their temporary tables. On MySQL and MariaDB the section holds the tables your own CREATE TEMPORARY TABLE statements made, so one a stored procedure creates is not listed.
The trailing pane
One column on the trailing edge, holding one surface at a time. Its header keeps one height across all three, so switching surface moves nothing beneath it.
The picker at the leading end of the header moves between Inspector and Assistant, and the segment you pick is remembered for that connection. Where there is nothing to pick the header draws the surface’s name instead: with AI features off in Settings > AI the pane holds the inspector alone, and Agent mode fixes it on Result.
The ellipsis at the trailing end holds that surface’s own commands: Fields and JSON plus the JSON reader’s options on the inspector, New Conversation, Conversation History and Clear Recents on the assistant, and SQL and Results on the result column.
Cmd+Option+I opens and closes the pane, and Cmd+Option+A swaps an open inspector for the assistant rather than closing the column. View > Show Inspector and View > Show Assistant are the same two, each reading Hide once its surface is on screen.
Work still running
Quit, Relaunch to Update, closing a window, a connection or a tab, and Disconnect each check for work still running there and ask once, in one alert that lists it:- a query run from an editor tab
- a restore, backup, import, export, table transfer or object copy
- an agent reply, including one waiting for your answer
- a comparison or a sync script in Compare & Sync
Related
- Query Tabs for the strip under the toolbar and what a tab is bound to
- Connections strip for the narrow strip on the leading edge
- Keyboard Shortcuts for every default binding

