> For the complete documentation index, see [llms.txt](https://docs.bluerock.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bluerock.io/bluedev-container/bluerock-connector-for-claude-and-codex-ide/bluerock-connector-windows.md).

# BlueRock Connector - Windows

The BlueRock Connector application for Windows establishes a secure bridge between local AI IDEs ([Claude Code](https://claude.com/product/claude-code) or [Codex](https://openai.com/codex/)) and the remote BlueRock sandbox. The application natively handles SSO and SSH key authentication, local port forwarding, and container lifecycle management to enable a fully remote coding workspace.

## Prerequisites

### Software and Client Applications

* **IDEs**:
  * [Claude Code IDE](https://claude.com/product/claude-code)&#x20;
  * [Codex](https://openai.com/codex/)
* **BlueRock Connector App**: \
  Contact [BlueRock support](https://www.bluerock.io/contact) to obtain `BlueRock_Connector_win64.exe`.
* **OpenSSH Client**: \
  The client must be installed and added to the system PATH (e.g., `C:\Windows\System32\OpenSSH\`).

{% hint style="info" icon="notes" %}
**Note:**&#x20;

The OpenSSH Client is an optional Windows feature and is frequently removed from hardened corporate images.
{% endhint %}

### System Requirements

**Operating System**:&#x20;

Windows 11 (24H2 or later) is required for file transfers between the local machine and the BlueRock environment.

{% hint style="success" icon="lightbulb-exclamation-on" %}
**Important:**&#x20;

Install the application strictly in the user's context. Do not install the application machine-wide or via "Run as administrator," because the Connector stores identity locally in the user profile.
{% endhint %}

### Network and Security

* **Virtual Private Network (VPN):** \
  If the BlueRock instance resides on a private network, active VPN connectivity is required to reach the instance.
* **Endpoint Protection:** \
  On desktop clients running firewalls or security software, allow port `2259` for inbound connections. The BlueRock Connector application runs a listener service on port 2259 and the loopback interface. The traffic is internal and never leaves the device.

## Installation

Locate the `BlueRock_Connector_win64.exe` application and double-click to run it.

{% hint style="info" icon="notes" %}
**Note:**

Windows will display a standard publisher notification warning message because the application is not from Microsoft. Proceed through the prompt to install and run the application.

<img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FXJsT14jhJbZ07z13zpDu%2FWindows-security-BlueRockConnector-app.png?alt=media&amp;token=eac7df0b-04c4-4965-9c76-333fa2f8824b" alt="" data-size="original">
{% endhint %}

## Authentication and Enrollment

1. Once the application opens, select the **Set Up Connector** button.

2. Select **Continue** on the welcome screen.<br>

   <div align="left"><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FTGZ25UvmG9cP7B2ndfLV%2FBlueRock-Connector-app-Welcome.png?alt=media&amp;token=3316438a-3a19-4238-b1cc-ecfc16722c88" alt="" width="563"></div>

3. Choose one of the following authentication methods:
   1. Sign in with BlueRock\
      *Also, known as Single Sign On (SSO) login option.*
      1. Select the **Sign in with BlueRock** option then select **Next**.

         <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FAL7QnQVa5h5tuxsccIcj%2Fimage.png?alt=media&amp;token=f3fd8be5-4ad2-4fcf-9a0b-a10d55a84425" alt="" width="563"><figcaption></figcaption></figure></div>
      2. Provide the bootstrap string URL in the **Enrollment URL** field and enter the public DNS or IP address of the BlueRock host in the **Dev host** field. Click **Sign in**.

         <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2F9SXYDnARCVCSv8YGx3lE%2Fimage.png?alt=media&amp;token=9a7c773f-4380-4550-bcfd-5c29108d7714" alt="" width="563"><figcaption></figcaption></figure></div>
      3. Complete the sign-in flow in the web browser to authorize the application.<br>
   2. SSH Key
      1. Select the **SSH key** option then select **Next**.<br>

         <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FvZsYcYw9760imf0ZMToP%2Fimage.png?alt=media&amp;token=33b553ee-29e5-4843-9d4e-258699146b9f" alt="" width="563"><figcaption></figcaption></figure></div>
      2. Run the following command on the local machine to obtain the fingerprint:

         ```shellscript
         $ ssh-keyscan -T 10 -t ed25519 <host-ip> | ssh-keygen -lf - 2>&1
         ```
      3. Enter the Bootstrap string in the application using the following format: `<host-ip>#fp=SHA256:<base64>` (For example: `10.101.01.101#fp=SHA256:0x0x...`)
      4. Click **Browse**, select the required SSH private key, and click **Install Key**.<br>

         <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2F25rwWyTFp0nJOiZknUBC%2Fimage.png?alt=media&amp;token=0ff63f7b-2307-4843-8f86-35cff42beb04" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" icon="notes" %}
**Note:**&#x20;

Ensure the same SSH public key is present in the `.ssh` folder of the instance's Bluedev profile. Run the following commands on the BlueRock instance to configure the key:

```shellscript
sudo su
sudo su bluedev
mkdir -p ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
```

{% endhint %}

4. Then click **Close and Continue to Connector** to proceed working with the connector app.<br>

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2Fsy1UebglrIm0MOQPEdXA%2Fimage.png?alt=media&amp;token=eeeacdcc-445e-4cdc-b446-26113ba14a95" alt="" width="563"><figcaption></figcaption></figure></div>

## Environment Lifecycle Management

### Create Sandbox

Select the **Create sandbox** button to initialize the remote container.<br>

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FGu3mDBhKJt3XBJGWbVbD%2Fimage.png?alt=media&amp;token=bed4e21d-3491-4197-a2b3-4585c9b07ac9" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FOMOWJsvYCcIs9EsZUwys%2Fimage.png?alt=media&amp;token=0c09aa61-a865-4e00-b1ed-364dbb1dde01" alt=""><figcaption></figcaption></figure></div>

### Stop Sandbox

Click **Stop Sandbox** to halt the running container.

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FbPjMCOwKqvcARGZTdENB%2Fimage.png?alt=media&amp;token=947cb544-3424-4acf-afbf-ef8ce2ff36c2" alt=""><figcaption></figcaption></figure></div>

### Destroy Environment

Click **Destroy Sandbox** to completely purge and delete the container instance from the host.

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FbZLUs65PvS6IWUZWiT3b%2Fimage.png?alt=media&amp;token=02eea503-b29d-4b2b-86b9-20e38326a191" alt=""><figcaption></figcaption></figure></div>

Click **Destroy Sandbox - confirm** buttong in the prompt to destrory the sandbox and its files completely.

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2F39DqqtwMH8e9iwP0RJPr%2Fimage.png?alt=media&amp;token=8230b580-958b-4b8a-8fc0-1dd4c8bbec6f" alt=""><figcaption></figcaption></figure></div>

## Connecting AI Tools and Workspace Integration

### Connecting to Claude Code IDE

1. Select the **Connect Claude** button in the Connector app.

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FKbTNEio3BnUwXluxH6n4%2Fimage.png?alt=media&amp;token=be4af21e-23a3-4b98-9a80-0c5f91e7c1ae" alt=""><figcaption></figcaption></figure></div>

2. Select **Open Claude Desktop** and follow the instructions given on the screen.<br>

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2Fs1Bug3y59Xh6n0ffddtE%2Fimage.png?alt=media&amp;token=47c1f5c2-e483-444b-8c93-1d330097b887" alt="" width="563"><figcaption></figcaption></figure></div>

3. In the Claude Code IDE:
   1. Click the **Code** menu option.
   2. Select **Local** > **SSH** > **Add SSH Host...**<br>

      <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FcLYZwbEbxeNuGhyDHajn%2F2026-08-27_11-24.png?alt=media&amp;token=bd587910-8dbf-42cd-8eb0-f471cbba1c12" alt="" width="563"><figcaption></figcaption></figure></div>
   3. Enter `cobalt-59` only in the **SSH Host** field, with the other details as per the requirements, and click **Add SSH Connection**.&#x20;

      <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2Fgv4hhTXJUZvMzNNBpufK%2Fimage.png?alt=media&amp;token=6de66261-9bef-4311-b993-2128766cb8c0" alt="" width="563"><figcaption></figcaption></figure></div>

Then Claude Code will SSH into the instance, and any tasks or development scripts created inside this window will now execute directly inside your active remote `bluedev` Docker container.

<figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FWXqD2bbuOKmrrtjd8c73%2Fimage.png?alt=media&amp;token=6f93be81-7598-49d7-b4e3-0b9d9109145f" alt=""><figcaption></figcaption></figure>

{% hint style="info" icon="notes-sticky" %}
**Note:**

OTEL events are generated by the `blueclaude_sensor` for all the actions done by the coding agent running inside the remote container.
{% endhint %}

### Connecting to Codex

1. Select the **Connect Codex** button in the Connector app.&#x20;

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FC6gCh6a1wFv4fzMb1lT1%2Fimage.png?alt=media&amp;token=9e42b7a2-4b65-42b7-8a05-0a0c9b031d3f" alt=""><figcaption></figcaption></figure></div>
2. Follow the on-screen dialog instructions and click the provided link to authenticate. A one-time code is also present to enter while setting up an OpenAI account.<br>

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FFGKVlbG6H2QW0vhaB8W1%2Fimage.png?alt=media&amp;token=ae4949c9-f5d7-4f17-9c98-0a6e2b72c92f" alt="" width="479"><figcaption></figcaption></figure></div>
3. Authenticate with the OpenAI/ChatGPT account in the default browser.

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2Fg9VMIJLbyhwKFvB3zuUf%2Fimage.png?alt=media&amp;token=7088e01c-1d40-44de-a66a-496ec4998d95" alt="" width="563"><figcaption></figcaption></figure></div>
4. Enter the one-time code and select **Continue**.<br>

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FMFgKaItZ3lFj9vUnO37X%2Fimage.png?alt=media&amp;token=4df05f96-7ddf-4311-8b25-eee397455837" alt=""><figcaption></figcaption></figure></div>
5. Upon completion of OpenAI account setup, the BlueRock Connector app gives a new prompt to **Open Codex Settings**.<br>

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FA0rZnRvx4RNDhFPeQ2AS%2Fimage.png?alt=media&amp;token=f6f84456-3834-400c-98f4-811d15c347d3" alt="" width="563"><figcaption></figcaption></figure></div>
6. In Codex, navigate to **Connections** > select **SSH** > click **Add**.

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FZ9hwtsovONbV2mH6EaIu%2Fimage.png?alt=media&amp;token=e77bc46b-20ae-4dae-b49f-f370df58898e" alt="" width="563"><figcaption></figcaption></figure></div>
7. Select **Remote** and click **Next** to create a new remote project.

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FwVlYZD07My0VyrAyWPI9%2Fimage.png?alt=media&amp;token=ce9d6d88-a7eb-453a-94d0-7671bf74c1bb" alt="" width="563"><figcaption></figcaption></figure></div>
8. Select `cobalt-59` and click **Add.** Add the connection as a project to the Codex workspace.

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2Fdwq0hmBmIVhdrxNIjemL%2Fimage.png?alt=media&amp;token=b538d350-cf20-4c06-a1b7-a8ad87c1a9f3" alt="" width="563"><figcaption></figcaption></figure></div>
9. In the New Remote Project pane, select **cobalt-59** from the Remote dropdown and select **Add Project**.<br>

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FOsdenJOsWSziAKTPDwjv%2Fimage.png?alt=media&amp;token=ba579ca6-e1f5-45e1-a03e-a1ff6ea2a441" alt="" width="563"><figcaption></figcaption></figure></div>

Once the project connects successfully, it will be added in the SSH section.

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FhwEC9O8re8c6pJb2JA58%2Fimage.png?alt=media&amp;token=1d6f4cfc-c9fe-48f3-a588-5b1dd4319f83" alt="" width="563"><figcaption></figcaption></figure></div>

Then use it as a project in the Codex workspace.

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FWqGGPfgZlzdhQSxJmIze%2Fimage.png?alt=media&amp;token=eed01fbb-f269-414a-8723-27db648bdff1" alt="" width="563"><figcaption></figcaption></figure></div>

### Verifying Session Execution and Script Output

1. In the connected Claude IDE or Codex environment, provide a prompt to create a basic "**Hello World**" Python script to verify the session.
2. Review and verify the script output directly within the IDE's terminal or shell.<br>

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FJhYvu4vRaYmsF9oA2qJs%2Fimage.png?alt=media&amp;token=221b6759-3148-4538-9049-bf4b63abd30b" alt=""><figcaption></figcaption></figure></div>

### Browsing Remote Sandbox Files via System File Explorer

1. In the BlueRock Connector application, select the **Browse Files** option.<br>

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FwGQ7dtgzXrJqZVJP8nK2%2Fimage.png?alt=media&amp;token=6db0f58c-319c-43f1-a913-a4ab0962d726" alt=""><figcaption></figcaption></figure></div>
2. View and interact with the remote files directly within **Windows Explorer**.&#x20;

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2F63zdWAOhbFFqPpYRHOKf%2Fimage.png?alt=media&amp;token=7bc9655b-8174-492f-b8f1-e72ade91476a" alt="" width="563"><figcaption></figcaption></figure></div>

   \
   The `bluedev` container mounts natively on the Windows file system under **Network Locations**.<br>

   <div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FdfGsrEhQuI8bx0tgNpwl%2Fimage.png?alt=media&amp;token=ec9a6afb-7ad7-41f0-8406-6081e97bbb75" alt="" width="563"><figcaption></figcaption></figure></div>

## Maintenance and Troubleshooting

### Exporting Connector Logs

To troubleshoot issues, export the application logs directly from the system tray. Right-click the **BlueRock Connector** icon in the System Tray and select **Export Logs...**. Save the generated log file to a preferred location.

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FYnyD5WBxeRPWNMVDIu3K%2Fimage.png?alt=media&amp;token=c4a38825-47f8-4da1-bc1e-ea688f0f065b" alt=""><figcaption></figcaption></figure></div>

### Resetting Connector Configuration

Select **Reset** in the **Sandbox** dialog box.

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FIgD0GGNj16gqFhiS3bCi%2Fimage.png?alt=media&amp;token=7992cca4-1237-4f9c-ab21-83b38497381f" alt=""><figcaption></figcaption></figure></div>

Then confirm the prompt to clear the current configuration.

<div align="left"><figure><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FDKSeYvwFnUJKK4fYsueX%2Fimage.png?alt=media&amp;token=99fa7a3a-eafd-4eda-94f9-6c13293943d1" alt=""><figcaption></figcaption></figure></div>

#### **Re-authenticating After Reset or Expiration**

When a session expires or after stopping/destroying containers and resetting configuration, remote network locations automatically unmount, and Docker containers terminate. Re-run Authentication and Sandbox Creation to establish a new session.

* After stopping the container

  <div align="left"><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2Fzdo56dLO6T3GkZRoF2IF%2Funknown.png?alt=media&amp;token=a3421094-4dc6-43d5-b2fd-473d7fbbff52" alt="" height="214" width="350"></div>
* After destroying the container

  <div align="left"><img src="https://1983702018-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCNnVnPvaRpvlLmPT6IAN%2Fuploads%2FJjiG9ktJIq6uG3uzA4HJ%2Funknown.png?alt=media&amp;token=b9e1a405-26ff-4312-a47c-066a6c267198" alt="" height="219" width="350"></div>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.bluerock.io/bluedev-container/bluerock-connector-for-claude-and-codex-ide/bluerock-connector-windows.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
