Skip to content

Reviewing Changes in the Transaction Log

The Transaction Log is a persistent history of every change Sidekick has applied to or attempted on the binary database. It captures modifications made through Chat operations and through suggestion menu items (Suggest Repairs, Suggest Types, Suggest Imported Types, Suggest Names, Suggest Comments). Each record in the log is a transaction — an atomic unit of work that either completed, was rejected, or failed.

Use the Transaction Log when you want to audit what Sidekick changed and why. It lets you inspect the exact properties and values that were modified, navigate to affected addresses, and investigate why a transaction failed.

Opening the Transaction Log sidebar

The Transaction Log is available as a sidebar panel in Binary Ninja.

  1. Open the right sidebar in Binary Ninja.
  2. Click the Sidekick Transaction Log tab.

The Transaction Log sidebar showing a list of transactions recorded while Suggest Names ran over the dropbear authentication and key-exchange functions

The sidebar shows the most recent transactions at the top, with the oldest at the bottom. It loads 100 transactions at a time; scroll to the bottom of the list to load older entries automatically.

Note

The Transaction Log is per-binary-view. Opening a different binary opens a separate log scoped to that view.

Understanding the transaction list

Each row in the list represents one transaction. Every row shows:

  • Type glyph and state badge — a glyph indicating the transaction type, with a badge overlaid for exceptional outcomes:
    • no badge — the transaction was committed successfully (the common case)
    • red — the transaction was rejected before it was applied
    • orange ! — the transaction failed during application
  • Description — a short human-readable summary of what the transaction did, such as Updated index 'functions' or a description from the chat operation

Hover over a row to see a card with the transaction type, when it was recorded (for example, 3m ago), the number of modifications or entries involved, the outcome, and the short transaction ID. For failed transactions, the card also includes the error message.

Transaction rows with a red cross badge on a rejected rename and an orange exclamation badge on a failed transaction, among unbadged committed rows

Filtering the list

By default, the list shows all terminal states — committed, rejected, and failed. To change what is displayed:

  1. Click the hamburger menu in the sidebar header.
  2. Expand Filter by State.
  3. Toggle any combination of Committed, Rejected, and Failed.
  4. To restore the default view, select Show All from the same menu.

Viewing transaction details

Click any transaction in the list to open its detail view in the panel below.

The detail view header shows:

  • The transaction description as a headline
  • The state and timestamp (for example, Committed Mar 15, 2026 02:34 PM)
  • The transaction type and the full transaction ID, which you can select and copy

For failed transactions, the detail view also displays an error message in red explaining why the transaction could not be applied.

The transaction detail header showing the description headline, the committed state with timestamp, the Analysis Update type with the full transaction ID, and the Revert button

Transaction types

The detail view content varies by transaction type.

Analysis Update

An Analysis Update is produced when Chat or a suggestion operation modifies the binary database — for example, renaming a function, applying a type, adding a comment, or repairing local analysis state.

The detail view shows one section per binary view involved in the update. Each section is titled with the binary and the count of modifications it contains.

Each modification is rendered as a diff-style entry:

  • a header bar with the resource identifier for the object that was modified, such as bv:function/0x418754 or bv:function/0x418754/variable/var_28
  • the property that was changed, such as name, type, or comment
  • the prior value on a red line and the new value on a green + line

To navigate to an affected address, double-click a modification's header bar. Binary Ninja navigates to the address encoded in that URI.

An Analysis Update detail with 25 modifications, each showing the function URI, the name property, and the prior and new values as red and green diff lines

Index Update

An Index Update records changes to a Sidekick analysis index — for example, adding, updating, or removing entries.

The detail view shows:

  • Operation Details — the operation type (ADD, UPSERT, UPDATE, or REMOVE) and the target index name or ID
  • Entries — a table listing the index entries affected by the operation

Task Recommendation

A Task Recommendation records an automated suggestion for a new analysis thread. The detail view header shows the recommendation title (from the transaction). Below the header, the detail area contains:

  • Justification — a group box with the reasoning behind the recommendation
  • Confidence — a progress bar showing the system's confidence in the recommendation, with a text interpretation (High / Good / Moderate / Low)
  • Target — the scope, address, binary, and function targeted by the recommendation, when applicable
  • Execution Details — the protocol and analysis type the recommendation would have used
  • Initial Message — a preview of the first message the recommended thread would have sent

Searching transactions

Type in the search box at the top of the sidebar to search across all transactions. Sidekick searches transaction types, IDs, descriptions, and serialized content. The list updates as you type.

Search scans up to 1,000 recent transactions. Clear the search box to return to the full list.

Undoing changes

The Transaction Log records what happened, but it does not provide undo controls of its own.

To undo changes applied by Sidekick, use Binary Ninja's standard undo (Ctrl+Z / Cmd+Z). Analysis Update transactions from suggestion operations are grouped as a single undo action, so one undo step reverts all changes from that operation.

Note

Rejected and failed transactions were never applied to the binary. Only committed transactions represent actual changes to the database, so only those need to be undone.

Deleting history items

You can remove individual transactions from the log when you no longer want to keep them in the local history:

  1. Right-click a transaction in the list and choose Delete Transaction.
  2. Or select a transaction and choose Delete Transaction from the hamburger menu.

Deleting a transaction removes only the history entry from the Transaction Log. It does not undo any committed database changes.

Real-time updates

The Transaction Log sidebar updates automatically as new transactions complete. When a Chat operation or suggestion operation finishes, the new transaction appears at the top of the list without requiring a manual refresh.