JetBrains Air - one place to run your agents and verify their work
- DataGrip 2026.3 ships with Air, a new layer for agentic development in JetBrains IDEs. Work with the coding agents and subscriptions you already have, and manage multi-agent setups inside DataGrip.
- The IDE’s code intelligence helps agents make fewer wrong turns and gives you the tools to review every change before it ships. Open agent sessions, project files, and diffs in the editor tabs side by side – no switching between the editor and agent workspace views.
- Your agents, your models, your subscriptions – with Junie Lite for free
- Air in DataGrip works with Claude Agent, Codex, Gemini, GitHub Copilot, Junie, OpenCode, and other ACP-compatible agents. It detects the agents already installed on your machine, so you can connect them with a single click and add more from the agent registry.
- Air in DataGrip includes free AI with the Junie Lite configuration, so you can use an agent without a subscription. You only need a JetBrains Account.
AI
- SQL and database tools in JetBrains Air
- DataGrip now comes with JetBrains Air by default. We’ve added database-specific features to the chat, so you can run SQL, explore data, and reference database objects directly in your conversations with AI agents.
- SQL snippets use the syntax highlighting and formatting settings configured in your IDE. You can copy the code or run it directly from the chat against a selected data source. After running it, you can navigate to object definitions and preview them in the Quick Definition popup.
- When an agent returns tabular data in CSV format, you can view it in the data editor right in the chat, with sorting and search available.
- You can also reference database objects in your prompts using @dbObject notation, with completion to help you find the object you need.
- Object references appear with their icons in the chat and support the Quick Definition popup.
- To reduce token usage, DataGrip sends a link to each referenced object. The agent can then retrieve the information it needs through DataGrip’s MCP server.
Connectivity
- Cross-database queries
- JetBrains have implemented a long-awaited feature: cross-database queries.
- You can now query data across different data sources, even when they use different DBMSs, and view the results directly without copying the data beforehand.
- To make this possible, we’re introducing the Workspace data source, which is based on DuckDB and runs in memory by default, so it does not require a database file.
- Each project can have one Workspace data source. In its query console, you can reference tables from other data sources using a special syntax. To add this data source, click Add on the Database Explorer toolbar and select Workspace Data Source. Its default query console opens automatically, and you can create additional ones as needed.
- DuckDB support
- DataGrip now offers full support for DuckDB, including a dedicated SQL dialect, DuckDB-specific syntax and functions, code completion, and database object introspection. To add a DuckDB data source, click Add on the Database Explorer toolbar and select Data Source | DuckDB.
- Three connection types are available: default, In-memory, and URL only. The default option connects to a DuckDB database file at the specified path. In-memory creates a database in memory, while URL only uses the JDBC URL you provide as is.
- Database connections disabled in untrusted projects
- DataGrip now asks you to trust an untrusted project before connecting to a database. This also applies when you click Test Connection in the Data Sources and Drivers dialog.
- Connecting to a database can execute potentially malicious code, for example, when the connection URL, startup scripts, or driver files have been tampered with. The dialog explains this risk and lets you trust the project to proceed or stay in safe mode, where database connections are disabled.
UI and UX improvements
- New Database Output tool window
- JetBrains have moved query results from Services to the new Database Output tool window. Like Services, it opens automatically at the bottom of the IDE when you run a query, a run configuration, or an SQL file.
- To show or hide the tool window, click More tool windows on the toolbar in the window header and select Database Output. Alternatively, press Alt+8.
- The header combines the client selector with the Output, Query Plan, and Result tabs. By default, the contents of the tool window follow the active editor tab, showing the corresponding output, query plans, and query results.
- The session client tree is now in a dropdown on the right side of the toolbar.
- Session management remains available in the Services tool window. To open session details for the selected client, select Manage sessions from the client dropdown.
- Updated tool window bar and shortcuts
- JetBrains have updated the tool window bar in the window header to include icons for Database Explorer, Database Output, Files, and Agent Sessions.
- The default tool window shortcuts have changed:
- Agent Sessions now uses Alt+2, previously assigned to Files.
- Files now uses Alt+4, previously assigned to Run.
- Run no longer has a default shortcut.
Working with data
- Ability to open result sets in editor tabs
- You can now open query results in separate editor tabs to work with them in the main editor area without resizing tool windows or rearranging your layout.
- For result sets in the Database Output tool window, use the new Open in Editor Tab action.
- The same action is also available for in-editor results.
- In both cases, the result set opens in a separate tab in the main editor area.
- New SQL action for result sets
- JetBrains have added an SQL action that opens a popup with the query that produced the result set. From the popup toolbar, you can run the query again, copy it to the clipboard, or navigate to it in the editor.
- Ability to pin columns in the data editor
- JetBrains are also adding another long-requested feature that makes the data editor even easier to use. You can now pin columns to the left-hand side of the editor. This keeps important data visible when you scroll horizontally through wide tables.
- To pin one or more columns, select them, right-click on the header, and select Pin Column or Pin Columns. You can also select Pin Columns Up to Here to pin all columns up to the one you have selected.
- A blue divider separates the pinned columns from the remaining ones, which you can scroll through horizontally.
- To unpin columns, right-click a header and select Unpin Column, Unpin Columns, or Unpin All Columns.
- Pinning actions are unavailable if the pinned section would take up too much horizontal space, leaving insufficient room to scroll the remaining columns.
- Automatic column sizing in the data editor
- You can now automatically resize columns to fit the available width of the data editor. This makes it easier to view tables with many columns without adjusting each column individually.
- To do this, right-click a column header and select Fit Columns to Window. To restore the default widths, select Reset Columns Width from the same context menu.
- New Manage Columns popup
- JetBrains have redesigned the column list to make it easier to work with wide tables and query results. The new Manage Columns popup replaces the old Show Column List popup and lets you find columns, select the ones to display, and adjust their order in one place.
- To open it, click Manage Columns on the data editor toolbar or press Ctrl+F12. Alternatively, right-click a column header and select Manage Columns. An indicator on the toolbar icon shows when some columns are hidden.
- In the popup, you can:
- Search for columns by name and show or hide all matching columns at once.
- Show or hide individual columns using the checkboxes, or press Space to toggle the visibility of selected columns.
- Drag column names to change their order in the grid. Alternatively, select a column and press Alt+Up or Alt+Down.
- Right-click columns to pin or unpin them, copy their names and data types, or restore the original column order.
Press Enter or double-click a column to close the popup and navigate to it in the grid. If the column is hidden, DataGrip makes it visible. - Each column’s data type appears next to its name, and pinned columns are grouped at the top of the list. Changes to column order and pinning are immediately reflected in the grid.
Query consoles
- Improved transaction control in query consoles
- JetBrains have improved how DataGrip tracks and displays the transaction state in Manual mode on the editor toolbar.
- Transaction control statements - When you execute COMMIT or ROLLBACK in the query console, the Commit and Rollback buttons now become disabled, just as they do when you commit or roll back a transaction using the toolbar. This works in PostgreSQL, Greenplum, MySQL, MariaDB, and Oracle. This update also covers END, ABORT, and AND CHAIN variants where supported by the DBMS. In Oracle, DataGrip also tracks implicit commits caused by DDL statements.
- Fixes for COMMIT, ROLLBACK, and savepoint statements - Fixed several issues with COMMIT, ROLLBACK, and savepoint statements that you run yourself in the query console. In PostgreSQL, statements that follow COMMIT or ROLLBACK no longer fail, and your own savepoints now work as expected. SAVEPOINT and RELEASE SAVEPOINT also no longer trigger introspection.
- Consistent state across consoles - Query consoles that share a session now display the same transaction state. You can commit or roll back the transaction from any of them.
Correct initial button state - The Commit and Rollback buttons no longer incorrectly appear active after you start the IDE or open a new console. - Updated defaults for automatic savepoints - After a failed statement, PostgreSQL rejects all further statements in the transaction. In order to let you continue, DataGrip can create an unnamed savepoint before each statement and roll back to it if the statement fails. Databases outside the PostgreSQL family don't need this, so the behavior is now disabled by default for them, and DataGrip no longer sends unnecessary SAVEPOINT statements.
Database support
- Support for MariaDB sequences and packages
- DataGrip now recognizes MariaDB sequences and displays them in a dedicated sequences group under the schema node in the database explorer. Previously, they appeared as tables.
- JetBrains have also added initial support for MariaDB packages. DataGrip now introspects packages and their bodies, displays them correctly in the database explorer, and loads their source code. You can generate their DDL, drop them, and refresh individual packages.
- In the code editor, JetBrains have improved support for package syntax, including:
- IF NOT EXISTS clauses in CREATE PACKAGE and CREATE PACKAGE BODY statements.
- RECORD, REF CURSOR, and associative array (TABLE OF … INDEX BY) type declarations.
- User-defined types for variables, routine parameters, and return types.
- Forward routine declarations in package bodies.
- CONDITION FOR SQLSTATE declarations.
- DataGrip also recognizes the package syntax of the default sql_mode (SQL/PSM).
- PostgreSQL 19 support
- Added support for PostgreSQL 19. DataGrip now recognizes the following syntax:
- INSERT ... ON CONFLICT DO SELECT ... RETURNING for returning an existing row when an insert encounters a conflict.
- WAIT FOR LSN for waiting until write-ahead log processing reaches a specified log sequence number.
- The EXCEPT clause in CREATE PUBLICATION for excluding specific tables from a publication.
- Also updated DataGrip’s minicatalogs to include new functions in PostgreSQL 19.