SQLcl 25.4.0 transforms your database command-line experience with intelligent auto-suggestions, modern IDE-like features, and a comprehensive keyboard shortcut system inspired by Emacs and Vi. This release focuses on developer productivity, reducing keystrokes and accelerating common workflows.
The Auto-Suggestions Widget is the standout feature of this release. Unlike traditional TAB completion which shows database objects, auto-suggestions recall your previous commands, learning from your workflow patterns.
-- Enable auto-suggestions SQL> SET AUTOSUGGESTIONS ON
-- Start typing... watch suggestions appear in gray SQL> select * from employees WHERE salary > 50000 ↑ Gray text from your history
-- Press → (Right Arrow) to accept SQL> select * from employees WHERE salary > 50000;
| Key | Action | Details |
|---|---|---|
→ (Right Arrow) | Accept entire suggestion | Completes the full command from history |
Ctrl + → | Accept next word | Partial acceptance, word by word |
Ignore | Keep typing | Suggestion fades away, no action taken |
Auto-suggestions work best after you've built up command history. The widget learns from your patterns and prioritizes frequently used queries. Perfect for repetitive database administration tasks.
The Auto-Pair feature automatically closes brackets, quotes, and parentheses as you type, positioning your cursor inside for immediate input. This prevents syntax errors and speeds up query writing.
-- Type: ( -- Result: () with cursor between them-- Real-world example: SQL> SELECT * FROM employees WHERE department_id = (50) ↑ Auto-closed
For the complete keyboard shortcut reference with detailed categories (Navigation, Editing, History, Search), see the Full SQLcl Keymap Cheatsheet →
Toggle line numbers in your multi-line SQL statements. Perfect for development and debugging when you need line references, and clean for documentation or presentations when you don't.
-- Enable line numbers SQL> SET LINENUMBERS ON
-- Your SQL now shows line numbers: 1 SELECT employee_id, 2 first_name, 3 last_name 4 FROM employees 5 WHERE department_id = 50;
-- Disable for clean output SQL> SET LINENUMBERS OFF
The status bar has been completely rewritten for granular control. Add or remove individual components, toggle the entire bar, and batch operations are fully supported.
-- Show current status bar configuration SQL> SET STATUSBAR ON
-- Add individual elements SQL> SET STATUSBAR ADD java SQL> SET STATUSBAR ADD git
-- Remove elements SQL> SET STATUSBAR REMOVE java
-- Toggle entire status bar SQL> SET STATUSBAR OFF SQL> SET STATUSBAR ON
Enable color-coded SQL syntax highlighting for improved readability. Keywords, strings, comments, and operators are displayed in different colors.
-- Turn on syntax highlighting SQL> SET HIGHLIGHTING ON
-- Your SQL now has color: SQL> SELECT employee_id, first_name FROM employees WHERE salary > 50000;
Syntax highlighting requires a terminal that supports ANSI color codes. Most modern terminals (iTerm2, Windows Terminal, GNOME Terminal) support this out of the box.
-- Enable all major features SQL> SET AUTOSUGGESTIONS ON SQL> SET HIGHLIGHTING ON SQL> SET LINENUMBERS ON
-- Configure status bar SQL> SET STATUSBAR ADD cwd SQL> SET linenumbers OFF SQL> set sqlprompt '"@|red _USER|@@@|green _CONNECT_IDENTIFIER|@@|blue 🍺 >|@"'
-- Save to login.sql for persistence -- Create ~/.sqlcl/login.sql with above commands
To make these settings permanent, add them to your ~/.sqlcl/login.sql file.
SQLcl executes this file automatically on startup, so your preferences persist across sessions.
Oracle SQLcl official documentation and guides →
Click any feature card above to see terminal demos