DEV Community

Cover image for From Terminal to IDE: Using Claude Code with Bedrock in VS Code and JetBrains
Gunnar Grosch
Gunnar Grosch

Posted on • Edited on

From Terminal to IDE: Using Claude Code with Bedrock in VS Code and JetBrains

In my previous post, I covered how to set up Claude Code with Amazon Bedrock for terminal-based agentic coding. That setup works great. You run claude in your terminal, and you have full access to all of Claude Code's capabilities with your code and prompts staying inside your AWS environment.

But if you spend most of your day in VS Code or a JetBrains IDE, you might want the GUI chat experience right in your editor. Inline diffs, clickable file references, and side-by-side comparisons can make the review process faster than scrolling through terminal output.

The good news: Your Bedrock configuration from the terminal setup carries over. The less-good news: Each IDE has its own quirks when it comes to authentication.

Quick Recap: The Basic Setup

If you followed the previous guide, you already have this in ~/.claude/settings.json with your preferred region:

{
  "env": {
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "AWS_REGION": "us-east-1"
  }
}
Enter fullscreen mode Exit fullscreen mode

And your AWS credentials are configured via aws login, SSO, access keys, or Bedrock API keys. If you haven't done this yet, check out the full setup guide first.

Why Use the IDE Extensions?

Running claude in your IDE's integrated terminal works perfectly. It gives you the full CLI experience with all the commands, tab completion, and features. So why bother with the extensions?

The terminal approach is great when:

  • You want all CLI features and commands
  • You prefer keyboard-driven workflows
  • You're comfortable with terminal-based diffs

The GUI extensions shine when:

  • You want inline diffs in your editor
  • You prefer clicking to accept/reject changes
  • You want @-mentions with autocomplete
  • You like managing multiple conversations in tabs
  • You want a graphical plugin manager

Pick whichever feels more natural. You can even use both depending on the task.

VS Code and Cursor

Installation

Install the extension from the marketplace:

Or search "Claude Code" in the Extensions view (Cmd+Shift+X / Ctrl+Shift+X).

The Critical Step: Disable the Login Prompt

Here's the part that trips people up. The VS Code extension has its own authentication setting that's separate from your ~/.claude/settings.json file. Even with Bedrock configured, the extension will show you an Anthropic login screen unless you explicitly tell it not to.

Open VS Code settings (Cmd+, / Ctrl+,), search for "Claude Code login", and check Disable Login Prompt.

Or jump directly: vscode://settings/claudeCode.disableLoginPrompt

After enabling the setting, reload VS Code to apply the changes: Cmd+Shift+P / Ctrl+Shift+P → type "Developer: Reload Window" and press Enter.

That's it. The extension now uses your Bedrock configuration instead of prompting for Anthropic credentials.

Opening Claude

Two ways to get to the Claude panel:

  1. Spark icon (✱) in the top-right corner of your editor when a file is open
  2. Command Palette: Cmd+Shift+P / Ctrl+Shift+P, type "Claude Code"

The panel can be dragged anywhere in VS Code. Sidebar, editor area, wherever you want it.

Useful Shortcuts

Shortcut What It Does
Cmd+Esc / Ctrl+Esc Toggle between editor and Claude
Option+K / Alt+K Insert @-mention with current file and selection
Cmd+Shift+Esc / Ctrl+Shift+Esc Open new conversation in a tab
Shift+Enter Multi-line input without sending

Using @-Mentions

Type @ followed by a file or folder name. Claude reads that content and can answer questions or make changes. Fuzzy matching works, so @auth might match auth.js, AuthService.ts, etc.

When you select text in the editor, Claude sees it automatically. Press Option+K / Alt+K to insert a reference like @app.ts#5-10 into your prompt.

Permission Modes

Click the mode indicator at the bottom of the prompt box to switch:

  • Normal: Claude asks permission before each action
  • Plan: Claude describes the plan first, then waits for approval
  • Auto-accept: Claude makes edits without asking (use carefully)

Set your default in VS Code settings under claudeCode.initialPermissionMode.

Managing Plugins

Type /plugins in the prompt box for a graphical interface to install and manage plugins. You can search, install (user/project/local scope), and toggle plugins on/off without touching config files.

JetBrains IDEs (IntelliJ, PyCharm, WebStorm, etc.)

How It's Different

The JetBrains plugin works differently from VS Code. Instead of being a standalone extension, it's a wrapper around the CLI. You run claude from the IDE's integrated terminal, and the plugin detects it and adds IDE integration features.

This means:

  • No separate login prompt to disable
  • Uses your CLI authentication automatically
  • Full CLI features available

Supported IDEs

  • IntelliJ IDEA
  • PyCharm
  • Android Studio
  • WebStorm
  • PhpStorm
  • GoLand

Installation

Install the Claude Code plugin (Beta) from the JetBrains marketplace and restart your IDE.

Usage

Open the integrated terminal in your IDE and run:

claude
Enter fullscreen mode Exit fullscreen mode

The plugin automatically detects the running session and enables:

  • Quick launch: Cmd+Esc / Ctrl+Esc to open Claude
  • Diff viewing: Code changes display in the IDE's diff viewer
  • Selection context: Current selection/tab is shared with Claude
  • File references: Cmd+Option+K / Alt+Ctrl+K to insert references
  • Diagnostic sharing: Lint/syntax errors are shared automatically

If you're running claude from an external terminal, use the /ide command to connect it to your IDE.

Plugin Settings

Configure in Settings → Tools → Claude Code [Beta]:

  • Claude command: Set custom path (useful for WSL: wsl -d Ubuntu -- bash -lic "claude")
  • Enable automatic updates: Keep the plugin current
  • Option+Enter for multi-line (macOS): Configure multi-line prompt behavior

ESC Key Fix

If ESC doesn't interrupt Claude operations in the terminal:

  1. Go to Settings → Tools → Terminal
  2. Uncheck "Move focus to the editor with Escape" OR delete the "Switch focus to Editor" keybinding
  3. Apply changes

Remote Development Note

When using JetBrains Remote Development, install the plugin in the remote host via Settings → Plugin (Host), not on your local machine.

Troubleshooting

VS Code: Extension shows login screen despite settings

  • Verify disableLoginPrompt is checked in extension settings
  • Restart VS Code completely
  • Check that ~/.claude/settings.json has CLAUDE_CODE_USE_BEDROCK=1

VS Code: Spark icon not visible

  • Open a file (the icon requires a file to be open)
  • Check VS Code version (requires 1.98.0+)
  • Try the Command Palette instead (Cmd+Shift+P / Ctrl+Shift+P, type "Claude Code")

VS Code: "The provided model identifier is invalid" error

  • Run /model in the Claude Code prompt box
  • Select a model from the menu (even if you choose "Default")
  • This forces the extension to refresh and use the correct model IDs from Bedrock

JetBrains: Plugin not detecting Claude

  • Verify plugin is installed and enabled
  • Run claude from the IDE's integrated terminal (not external)
  • Restart the IDE completely
  • For Remote Development, ensure plugin is on the remote host

Both: "Model Not Found" or Access Denied

  • Double-check AWS_REGION matches where you're using the models
  • First-time Anthropic users may need to submit use case details (AWS prompts on first invocation)
  • Verify IAM permissions: bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream

Conclusion

The IDE extensions bring the agentic coding experience into your editor with visual diffs and graphical interfaces. VS Code requires an extra step to disable the login prompt, while JetBrains just uses your CLI configuration directly.

Both approaches work with the same Bedrock setup from the terminal guide. Your code stays in your AWS environment, you get IAM-based access control, and everything shows up on your AWS bill.

For more details on authentication options, model selection with /model, cost optimization, and other Bedrock configuration, check out the previous post.

Pick the interface that fits your workflow. Terminal, VS Code, JetBrains, or mix and match depending on the task.

Additional Resources

What's your preferred interface for Claude Code? Let me know in the comments!

Top comments (0)