# Jump Anywhere

Jump Anywhere is IDA's unified navigation dialog — a single entry point for jumping to any location in the IDB. It accepts a broader range of inputs: names, addresses, expressions, tokens, and identifiers from multiple namespaces.

![Jump anywhere dialog](/files/151FmtW3kiXu8uteRTZS)

## Invocation

* Press <kbd>G</kbd> to open [Jump Anywhere](/9.4/ida-actions/jumpanywhere.md) from any view, or navigate to **Jump → Jump anywhere...**.
* Press <kbd>G</kbd> <kbd>↓</kbd> <kbd>↵</kbd> to jump back to the last address visited via Jump Anywhere.
* If you prefer the legacy <kbd>G</kbd> shortcut behavior bound with [Jump to address](/9.4/ida-actions/jumpask.md), you can enable it under **Options → Feature Flags**.

The dialog opens in history mode — your previous jumps, with their results, one keystroke away (entries from other databases collapse to grey query-only rows).

![Jump anywhere - history mode](/files/gQAV8BoHQwLoEDgjeoca)

![Jump anywhere - cross binary history mode](/files/SCLceVY28khauttvLFEw)

## What You Can Type

### Numbers

| Format                            | Example    |
| --------------------------------- | ---------- |
| Hex with `0x` prefix              | `0x401000` |
| Hex without prefix (default base) | `401000`   |
| Decimal                           | `4198400`  |
| Octal                             | `0777`     |
| Binary                            | `0b101010` |

### Named Symbols

* Regular names: `main`, `printf`, etc.
* Dummy names: `sub_401000`, `loc_4010A0`, `byte_402000`, …
* `seg+offset`

### Current-IP Tokens

| Token         | Meaning                              |
| ------------- | ------------------------------------ |
| `$`           | Current address                      |
| `.`           | Current address (alias)              |
| `_`           | Current address (alias)              |
| `ash.a_curip` | Processor-dependent current-IP token |

### Address Interpretation

When the input parses to a number, Jump Anywhere presents it as up to three candidates:

* **VA** — virtual address
* **RVA** — relative to image base
* **File offset**

### Segment-Relative Addresses

`seg:off` form — for example, `fs:30` during debugging.

### Arithmetic

You can combine any of the above with arithmetic:

```
main + 0x10
loc_4010A0 - loc_401000
$ + 4
```

### Frame / Function-Local Identifiers

* Stack-frame variables of the current function
* Local labels of the current function

### Type-System Identifiers

* Enum symbolic constants
* Local-type names — UDM members are resolvable when Jump Anywhere is invoked from a type listing

### Expression-Language Identifiers

* IDC / current extlang expressions: `cpu.EIP`, etc.
* User-defined extlang globals — IDC `extern` variables, Python globals, etc. Usable inside arithmetic: `main + kq` where `kq` is a user-defined symbol

{% hint style="warning" %}
The kernel's active extlang is **not** controlled by the CLI dropdown. Python globals are only visible to Jump Anywhere if Python is enabled as the active extlang — call `idaapi.enable_extlang_python(1)` to do so, typically from `idapythonrc.py`.
{% endhint %}

## Result List

* Use <kbd>↑</kbd> / <kbd>↓</kbd> / <kbd>PageUp</kbd> / <kbd>PageDown</kbd> / <kbd>Home</kbd> / <kbd>End</kbd> to navigate the list.

History rows preview their recorded destination, in the view they were jumped to; entries from other databases show a blank pane.

### Preview pane

Every navigable row previews live as you move through the list — **Disassembly**, **Pseudocode** (already-decompiled functions only), or **Hex**.

![Preview pane - Pseudocode](/files/BdpJtfBps3e1jZLsd7uA) ![Preview pane - Hex](/files/DUOmXdUhMEjfpIjIN5FH)

The segmented buttons next to the input pick the view and remember your preference. Local-type results preview as a type listing; expression results preview their resolved target.

The preview pane can be disabled under **Options → Feature Flags**.

## Configuration

| Setting                     | File         | Effect                                                                    |
| --------------------------- | ------------ | ------------------------------------------------------------------------- |
| `JUMP_ANYWHERE_MAX_RESULTS` | `idagui.cfg` | Maximum number of result rows shown                                       |
| `JUMP_ANYWHERE_MAX_HISTORY` | `idagui.cfg` | Maximum number of past queries kept in history                            |
| `ENABLE_INDEXER`            | `ida.cfg`    | Enables the indexer subsystem that powers the search. Enabled by default. |

## Limitations

* Search relies on the indexer. With `ENABLE_INDEXER=NO`, the dialog still parses literal inputs (addresses, names) but doesn't perform similarity search.
* Names defined after the index was built may not appear in results until the index catches up. The indexer runs asynchronously after the database changes.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hex-rays.com/9.4/core/user-interface/concepts/jump-anywhere.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
