diff --git a/ydb/docs/en/core/reference/ydb-cli/_assets/candidates.gif b/ydb/docs/en/core/reference/ydb-cli/_assets/candidates.gif
new file mode 100644
index 000000000000..ae3ed522ac18
Binary files /dev/null and b/ydb/docs/en/core/reference/ydb-cli/_assets/candidates.gif differ
diff --git a/ydb/docs/en/core/reference/ydb-cli/_assets/general-example.gif b/ydb/docs/en/core/reference/ydb-cli/_assets/general-example.gif
new file mode 100644
index 000000000000..666fcad446e4
Binary files /dev/null and b/ydb/docs/en/core/reference/ydb-cli/_assets/general-example.gif differ
diff --git a/ydb/docs/en/core/reference/ydb-cli/_assets/highlighting.jpg b/ydb/docs/en/core/reference/ydb-cli/_assets/highlighting.jpg
new file mode 100644
index 000000000000..a288dca034d8
Binary files /dev/null and b/ydb/docs/en/core/reference/ydb-cli/_assets/highlighting.jpg differ
diff --git a/ydb/docs/en/core/reference/ydb-cli/_assets/hints.gif b/ydb/docs/en/core/reference/ydb-cli/_assets/hints.gif
new file mode 100644
index 000000000000..fe1c46ae40c6
Binary files /dev/null and b/ydb/docs/en/core/reference/ydb-cli/_assets/hints.gif differ
diff --git a/ydb/docs/en/core/reference/ydb-cli/_assets/history-search.gif b/ydb/docs/en/core/reference/ydb-cli/_assets/history-search.gif
new file mode 100644
index 000000000000..b6e61880caac
Binary files /dev/null and b/ydb/docs/en/core/reference/ydb-cli/_assets/history-search.gif differ
diff --git a/ydb/docs/en/core/reference/ydb-cli/_assets/history.gif b/ydb/docs/en/core/reference/ydb-cli/_assets/history.gif
new file mode 100644
index 000000000000..154a235efaac
Binary files /dev/null and b/ydb/docs/en/core/reference/ydb-cli/_assets/history.gif differ
diff --git a/ydb/docs/en/core/reference/ydb-cli/interactive-cli.md b/ydb/docs/en/core/reference/ydb-cli/interactive-cli.md
index 8644928e90d9..45ce6d095bc1 100644
--- a/ydb/docs/en/core/reference/ydb-cli/interactive-cli.md
+++ b/ydb/docs/en/core/reference/ydb-cli/interactive-cli.md
@@ -1,6 +1,8 @@
# Interactive query execution mode
-After executing `ydb` command without subcommands, the interactive query execution mode will be launched. The console or terminal will be switched to interactive mode. After that, you can enter queries directly into the console or terminal, and when you enter a newline character, the query is considered complete and it starts to execute. The query text can be either a YQL query or a [special command](#spec-commands). Also, query history is saved between runs, command autocomplete is available, and there is a search function for query history.
+## Overview
+
+Executing `{{ ydb-cli }}` command without subcommands launches the interactive query execution mode. The console or terminal will be switched to the interactive mode. After that, you can enter queries directly into the console or terminal. When you enter a newline character, the query is considered completed and it starts to execute. The query text can be either a YQL query or a [special command](#spec-commands).
General format of the command:
@@ -10,23 +12,88 @@ General format of the command:
* `global options` — [global parameters](commands/global-options.md).
+Example usage:
+
+
+
+The interactive query execution mode in {{ ydb-short-name }} CLI offers the following features:
+
+* [Syntax highlighting](#syntax-highlighting)
+* [Hotkeys](#hotkeys)
+* [Query history](#query-history)
+* [Auto completion](#auto-completion)
+* [Special commands](#spec-commands)
+
+## Syntax highlighting {#syntax-highlighting}
+
+
+
+Interactive mode supports YQL syntax highlighting, which helps to better understand query structure. Different colors are used for the following groups of elements:
+
+* YQL keywords (SELECT, FROM, WHERE, INSERT, UPDATE and others)
+* Table and column names
+* String literals (text in quotes)
+* Numeric literals
+* Operators (=, <, >, +, - and others)
+* Special characters (brackets, commas, dots)
+* Comments
+
## Hotkeys {#hotkeys}
+You can use these hotkeys while working in the interactive mode:
+
| Hotkey | Description |
|---------------|---------------------------------------------------------------------------|
-| `CTRL + D` | Allows you to exit interactive mode. |
-| `Up arrow` | Scrolls through query history toward older queries. |
-| `Down arrow` | Scrolls through query history toward newer queries. |
-| `TAB` | Autocompletes the entered text to a suitable YQL command. |
-| `CTRL + R` | Allows searching for a query in history containing a specified substring. |
+| `Up arrow` | Shows previous query from history. |
+| `Down arrow` | Shows next query from history. |
+| `TAB` | Completes the current word based on YQL syntax. |
+| `CTRL + R` | Searches for a query in history containing a specified substring. |
+| `CTRL + D` | Exits interactive mode. |
+
+## Query history {#query-history}
+
+You can navigate through the query history using up and down arrow keys:
+
+
+
+History is stored locally and persists between CLI launches.
+
+A query search function (`CTRL + R`) is also supported:
+
+
+
+## Auto completion {#auto-completion}
+
+Auto completion helps you write queries more efficiently. While typing, it suggests possible completions for the current word based on YQL syntax.
+
+It also searches for schema object names in database where possible.
+
+There are two types of suggestions: auto completion by pressing `TAB` key and interactive hints.
+
+### Auto completion by pressing `TAB` key {#auto-completion-tab}
+
+While in interactive mode, pressing `TAB` key shows a list of suggestions of completion of current word according to the YQL syntax.
+
+
+
+If there is only one available option, pressing TAB will automatically complete the current word.
+If all available options share a common prefix, pressing TAB will automatically insert it.
+
+### Interactive Hints {#interactive-hints}
+
+While typing in interactive mode, a list of hints will appear under the cursor, showing first 4 suggestions of completion of current word according to the YQL grammar.
+
+
+
+This feature provides quick guidance without overwhelming you with all possible options, helping you stay on track while writing queries.
## Special commands {#spec-commands}
-Special commands are CLI-specific commands and are not part of the YQL syntax. They are intended for performing various functions that cannot be accomplished through a YQL query.
+Special commands are CLI-specific commands and are not part of the YQL syntax. Their purpose is to perform various functions that cannot be accomplished through a YQL query.
| Command | Description |
|--------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| `SET param = value` | The `SET` command sets the value of the [internal variable](#internal-vars) `param` to `value`. |
+| `SET param = value` | Sets the value of the [internal variable](#internal-vars) `param` to `value`. |
| `EXPLAIN query-text` | Outputs the query plan for `query-text`. Equivalent to the command [ydb table query explain](commands/explain-plan.md#explain-plan). |
| `EXPLAIN AST query-text` | Outputs the query plan for `query-text` along with the [AST](commands/explain-plan.md). Equivalent to the command [ydb table query explain --ast](commands/explain-plan.md#ast). |
@@ -38,7 +105,7 @@ Internal variables determine the behavior of commands and are set using the [spe
|----------|---|
| `stats` | The statistics collection mode for subsequent queries.
Acceptable values: