Skip to content

AshotN/OpenCode-Companion

Repository files navigation

OpenCode Companion for JetBrains IDEs

Integrates the OpenCode AI coding assistant into IntelliJ-based IDEs.

Screenshot 1

Inline diffs

Screenshot 2

Detailed 3 panel diff

Screenshot 3

Customizable Settings

Features

Server lifecycle management

The plugin can launch, monitor, and stop the OpenCode server for you.

  • Start / Stop — Start the server from the tool window with a single click. The plugin spawns opencode serve --port <port> in the project directory.
  • Auto-detect a running server — If OpenCode is already running on the configured port (e.g. started from the terminal), the plugin connects to it automatically without taking ownership of the process.

Once the server is running the plugin connects over SSE (Server-Sent Events) to receive real-time events.

Session list

The Session changes panel lists all root sessions. Each row shows:

  • Session title and a short description
  • A spinner while the session is actively running
  • The number of files being tracked in that session

Clicking a session row makes it the active session; the file list updates to show only that session's changes.

Modified-files list

The Files pane shows every file touched by the selected session:

State Visual
Modified Bold filename
Added Green filename
Deleted Red strikethrough filename

Interact with the list:

  • Double-click a file — opens a diff view (see below)
  • Right-click — context menu with Jump to Source and Open Diff
  • F4 (or IDE's Jump to Source shortcut) — navigate directly to the file in the editor

Inline diff in the editor

While a session is active, changed lines are highlighted inlined in the editor:

  • Added lines — green background highlight
  • Removed lines — rendered as red inlay blocks above the insertion point, showing the original content that was deleted

Due to OpenCode limitations, only the last write will be shown.

This feature can be toggled in settings.

Diff view of modified files

Double-clicking a file in the modified-files list opens a standard JetBrains diff editor tab comparing:

  • Left side — the session baseline (the content before the agent started making changes)
  • Middle - The current file on disk
  • Right side — The changes the AI had made to the file

Send selection to TUI

Share code from the editor directly with OpenCode's prompt input:

  • Select any code in the editor
  • Use Send Selection to OpenCode from the right-click context menu
  • The selection is sent as a fenced code block (with filename and line range) to the active TUI session's prompt input buffer

The text is appended — not submitted — so you retain full control before pressing Enter in the TUI.

You can also send file and folder paths to the TUI by right-clicking them in the project view.

Open in browser

The Open in Browser toolbar button opens the OpenCode web UI in your default browser.

New session in TUI

The New Session toolbar button creates a new OpenCode session and immediately switches the active TUI instance to it.

Permission prompts

When any agent requests permission, a prompt appears at the bottom of the panel with three choices:

  • Allow — permit this one request
  • Allow Always — permit this type of request for the rest of the session
  • Reject — deny the request

Responses are sent back to the server immediately.

Requirements

  • A JetBrains IDE based on IntelliJ Platform 2023.3 or later
  • OpenCode CLI installed and on PATH (or the path configured in settings)

About

A plugin to integrate the OpenCode AI coding assistant into IntelliJ-based IDEs.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages