pi-jetbrains-junie-bridge
Pi extension that connects Pi coding agent with JetBrains Junie as the AI backend
Package details
Install pi-jetbrains-junie-bridge from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-jetbrains-junie-bridge- Package
pi-jetbrains-junie-bridge- Version
1.2.1- Published
- Jul 27, 2026
- Downloads
- 1,889/mo · 484/wk
- Author
- sschatter
- License
- MIT
- Types
- extension
- Size
- 337.9 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-jetbrains-junie-bridge
A Pi extension that lets you use JetBrains Junie as the AI backend for the Pi coding agent — using your existing Junie subscription.
Install
pi install npm:pi-jetbrains-junie-bridge
Then inside pi run the /login command. Select Use a subscription and then JetBrains Junie to authenticate.
Once authenticated, run /model to select a model provided by the junie bridge.
Features
- OAuth login — browser-based JetBrains authentication with automatic token refresh
- Balance tracking — session cost and remaining balance shown in Pi's status line (see footer)

/juniecommand — check proxy status, balance, and available models from within Pi
- Automatic context compaction — when a conversation outgrows the model's context window, Pi compacts it and retries instead of failing. This works out of the box for all four model families: the bridge passes the backend's original overflow error through unchanged, so Pi's built-in detection recognises it (verified live against Claude, OpenAI, Grok and Gemini).
Available Models
Anthropic (Claude), OpenAI, xAI (Grok) and Google (Gemini) models are supported. The reasoning effort is adjustable in Pi.
The list below is mostly in sync with the models Junie itself offers, as published at https://llm24.net/llm/junie.txt.
Anthropic:
claude-sonnet-4-6claude-sonnet-5claude-opus-4-6claude-opus-4-7claude-opus-4-8claude-opus-5claude-fable-5
OpenAI:
openai-gpt-5-2openai-gpt-5-4openai-gpt-5-5openai-gpt-5-6-lunaopenai-gpt-5-6-terraopenai-gpt-5-6-sol
xAI:
grok-4-3grok-4-5
Google:
gemini-3-flash-previewgemini-3.1-pro-previewgemini-3.1-flash-litegemini-3.5-flash-litegemini-3.6-flash
Missing models:
deepseek-v4-flash— not implemented yet. JetBrains routes DeepSeek through a different backend (AliCloud), and every path/header combination tried so far is rejected by the Grazie gateway for subscription OAuth tokens.- Older OpenAI generations (
gpt-5-2025-08-07,gpt-5.3-codex) — reachable, but deliberately left out in favour of the current GPT-5 models. gpt,grok,gemini-pro,gemini-flash— stale aliases in that list; the backend answersModel not foundfor them.
Proxy Support
The extension respects the standard HTTPS_PROXY / HTTP_PROXY environment variables. This is useful in corporate environments where internet access is only available through a proxy.
All outgoing requests to JetBrains (OAuth and Grazie backend) are routed through the configured proxy. Local traffic between Pi and the bridge stays direct.
# Example
export HTTPS_PROXY=http://proxy.corp.example.com:8080
You can verify the active proxy with the /junie command inside Pi.
Requirements
- Node.js 20+
- A JetBrains Junie subscription
How It Works
The extension starts a local proxy server that translates between Pi and JetBrains' Grazie backend. On first use, you'll authenticate via JetBrains OAuth (browser-based PKCE flow).
┌─────────┐ ┌──────────────┐ ┌──────────────┐
│ Pi │────>│ pi-junie │────>│ Junie/Grazie │
│ agent │ │ local proxy │ │ backend │
└─────────┘ └──────────────┘ └──────────────┘
- OpenAI models (
openai-gpt-*) are forwarded via/v1/responses(OpenAI Responses API) so reasoning effort works together with tool calls - Anthropic models (
claude-*) are forwarded via/v1/messages - Grok models (
grok-*) use the same Responses API, with the routing header that Junie uses for xAI - Gemini models (
gemini-*) are forwarded to the Vertex-stylegenerateContentendpoint - The proxy runs on an ephemeral port and shuts down when Pi exits
Disclaimer
This extension includes a proxy server reverse-engineered from the official JetBrains Junie CLI. It is not officially supported by JetBrains. Use it in accordance with the JetBrains AI Service Terms of Service.
License
MIT