Skip to content

API requests to Bedrock Mantle's OpenAI Responses API endpoint fail because of a signature mismatch #31349

Description

@nisanthchunduru

Description

Hey OpenCode maintainers, I recently cloned opencode (to try GPT 5.5 and GPT 5.4 models that AWS Bedrock Mantle added (https://aws.amazon.com/blogs/aws/get-started-with-openai-gpt-5-5-gpt-5-4-models-and-codex-on-amazon-bedrock/)

I configured it AWS SigV4 auth (as my employer's security policies disallow us from creating long-term Bedrock API keys)

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "amazon-bedrock": {
      "options": {
        "profile": "personal",
        "region": "us-east-2",
        "baseURL": "https://bedrock-mantle.us-east-2.api.aws/openai/v1"
      },
      "models": {
        "openai.gpt-5.4": {
          "id": "openai.gpt-5.4",
          "name": "OpenAI GPT-5.4",
          "provider": {
            "npm": "@ai-sdk/amazon-bedrock/mantle"
          }
        },
        "openai.gpt-5.5": {
          "id": "openai.gpt-5.5",
          "name": "OpenAI GPT-5.5",
          "provider": {
            "npm": "@ai-sdk/amazon-bedrock/mantle"
          }
        }
      }
    }
  }
}

Unfortunately, every API request to Bedrock Mantle OpenAI Resposnes API endpoint (except the API request for my first message) fails because of a signature mismatch

Image

From a quick glance, it seems like the request is being modified after its signed

model.api.npm === "@ai-sdk/amazon-bedrock/mantle") &&
More specifically, opencode deletes the id property of all message items after the request is signed causing a signature mismatch

Can you please resolve this?

Thank you for your time.

Cc @rekram1-node @kitlangton

Plugins

No response

OpenCode version

local

Steps to reproduce

git clone https://github.com/anomalyco/opencode/i
git checkout b5cb9aae7f5f992ab401567d3427e122cd58719c
bun install
vim /tmp/opencode-local.json
 OPENCODE_CONFIG_CONTENT="$(< /tmp/opencode-local.json)" ~/.local/share/mise/installs/node/24/bin/bun run --cwd ~/repos/opencode/packages/opencode src/index.ts
// /tmp/opencode-local.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "amazon-bedrock": {
      "options": {
        "profile": "your-aws-profile-name",
        "region": "us-east-2",
        "baseURL": "https://bedrock-mantle.us-east-2.api.aws/openai/v1"
      },
      "models": {
        "openai.gpt-5.4": {
          "id": "openai.gpt-5.4",
          "name": "OpenAI GPT-5.4",
          "provider": {
            "npm": "@ai-sdk/amazon-bedrock/mantle"
          }
        },
        "openai.gpt-5.5": {
          "id": "openai.gpt-5.5",
          "name": "OpenAI GPT-5.5",
          "provider": {
            "npm": "@ai-sdk/amazon-bedrock/mantle"
          }
        }
      }
    }
  }
}

Once OpenCode launches, send a message, wait for it to reply and send a message again

Screenshot and/or share link

No response

Operating System

No response

Terminal

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions