SQLcl 25.4.0
ENHANCED TERMINAL EXPERIENCE
Intelligent Auto-Completion · Professional Keyboard Shortcuts · Modern IDE Features
Release Date: 2025 · Oracle SQLcl · JLine3-Powered
WHAT'S NEW

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.

Auto-Suggestions
completion from your history. Type 'SELECT' and watch your previous queries appear in real-time as gray text suggestions.
FEATURE
▶ Click to view demo
Auto-Pair
Intelligent bracket and quote pairing. Type ( and get () with cursor positioned inside. Prevents syntax errors.
DEFAULT ON
▶ Click to view demo
Line Numbers
Toggle line numbers in multi-line SQL statements. Perfect for development with SET LINENUMBERS ON, clean for documentation with OFF.
CONFIGURABLE
▶ Click to view demo
Enhanced Status Bar
Granular control over status bar components. Add or remove individual elements, toggle entire bar, batch operations supported.
ENHANCED
▶ Click to view demo
Keyboard Shortcuts
Professional-grade shortcuts for history search, text manipulation, navigation, and editing. Emacs and Vi modes supported.
UNIVERSAL
Syntax Highlighting
SQL syntax highlighting with SET HIGHLIGHTING ON. Keywords, strings, and comments color-coded for readability.
VISUAL
AUTO-SUGGESTIONS

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.

HOW IT WORKS

-- 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;

KEYBOARD CONTROLS
KeyActionDetails
(Right Arrow)Accept entire suggestionCompletes the full command from history
Ctrl + →Accept next wordPartial acceptance, word by word
IgnoreKeep typingSuggestion fades away, no action taken
PRO TIP

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.

AUTO-PAIR: INTELLIGENT BRACKET MATCHING

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.

EXAMPLES
-- Type: (
-- Result: () with cursor between them

-- Real-world example: SQL> SELECT * FROM employees WHERE department_id = (50) ↑ Auto-closed

SUPPORTED PAIRS
( )
Parentheses - Function calls, subqueries
[ ]
Brackets - Array indexing, JSON paths
{ }
Braces - PL/SQL blocks, JSON objects
" "
Double quotes - Identifiers, strings
' '
Single quotes - String literals, dates
KEYBOARD SHORTCUTS REFERENCE

For the complete keyboard shortcut reference with detailed categories (Navigation, Editing, History, Search), see the Full SQLcl Keymap Cheatsheet →

KEYMAP REFERENCE cheatsheet
LINE NUMBERS

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.

USAGE

-- 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

ENHANCED STATUS BAR

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.

COMMANDS

-- 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

AVAILABLE COMPONENTS
user
Connected database user
connection
Database connection string
timing
Query execution time
linenumbers
Current line number in multi-line input
column
Cursor column position
SYNTAX HIGHLIGHTING

Enable color-coded SQL syntax highlighting for improved readability. Keywords, strings, comments, and operators are displayed in different colors.

ENABLE HIGHLIGHTING

-- Turn on syntax highlighting SQL> SET HIGHLIGHTING ON

-- Your SQL now has color: SQL> SELECT employee_id, first_name FROM employees WHERE salary > 50000;

⚠️ TERMINAL COMPATIBILITY

Syntax highlighting requires a terminal that supports ANSI color codes. Most modern terminals (iTerm2, Windows Terminal, GNOME Terminal) support this out of the box.

GETTING STARTED
RECOMMENDED INITIAL CONFIGURATION

-- 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
PERSISTENCE

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.

RESOURCES
Video Demos

Click any feature card above to see terminal demos