claude-code - 💡(How to fix) Fix [BUG] RemoteTrigger create/update returns HTTP 400 with circular error: "event_type is required" / "unknown field event_type"

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

RemoteTrigger with action: "create" and action: "update" both fail with HTTP 400. The error is circular: omitting event_type from events[0] produces "event_type is required", but including it produces "unknown field \"event_type\"". There is no valid payload that satisfies both sides of the validator. Both create and update have been non-functional since at least 2026-05-21.

Error Messages/Logs

Code Example

# Without event_type:
HTTP 400: "translate job_config v1→v2: events[0]: event_type is required"

# With event_type: "user_message":
HTTP 400: "translate job_config v1→v2: job_config is not a valid CreateSessionRequest: proto: unknown field \"event_type\""

# With flat prompt field:
HTTP 400: "translate job_config v1→v2: job_config is not a valid CreateSessionRequest: proto: unknown field \"prompt\""

---

{
  "trigger_id": "trig_01N1cNuiSwnMByzYDCqEbc8X",
  "job_config": {
    "ccr": {
      "environment_id": "env_01W67EKQHKsu2u12qi1tAq6a",
      "events": [{"data": {"message": {"role": "user", "content": "test", "type": "user"}}}],
      "session_context": {"allowed_tools": ["preset:default"]}
    }
  }
}

---

{"name": "test", "cron_expression": "0 12 * * 1-5", "job_config": {"prompt": "Say hello."}}
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report
  • I am using the latest version of Claude Code

What's Wrong?

RemoteTrigger with action: "create" and action: "update" both fail with HTTP 400. The error is circular: omitting event_type from events[0] produces "event_type is required", but including it produces "unknown field \"event_type\"". There is no valid payload that satisfies both sides of the validator. Both create and update have been non-functional since at least 2026-05-21.

What Should Happen?

RemoteTrigger with action: "create" should create a new scheduled routine and action: "update" should update an existing one. Both were documented as supported when the tool was added in v2.1.128.

Error Messages/Logs

# Without event_type:
HTTP 400: "translate job_config v1→v2: events[0]: event_type is required"

# With event_type: "user_message":
HTTP 400: "translate job_config v1→v2: job_config is not a valid CreateSessionRequest: proto: unknown field \"event_type\""

# With flat prompt field:
HTTP 400: "translate job_config v1→v2: job_config is not a valid CreateSessionRequest: proto: unknown field \"prompt\""

Steps to Reproduce

Attempt 1 — update existing trigger, no event_type (mirrors exact shape returned by GET):

{
  "trigger_id": "trig_01N1cNuiSwnMByzYDCqEbc8X",
  "job_config": {
    "ccr": {
      "environment_id": "env_01W67EKQHKsu2u12qi1tAq6a",
      "events": [{"data": {"message": {"role": "user", "content": "test", "type": "user"}}}],
      "session_context": {"allowed_tools": ["preset:default"]}
    }
  }
}

HTTP 400: translate job_config v1→v2: events[0]: event_type is required

Attempt 2 — create new trigger, no event_type: Same job_config shape with name + cron_expression added. → Same HTTP 400.

Attempt 3 — create new trigger, with event_type: "user_message": Added "event_type": "user_message" inside events[0]. → HTTP 400: translate job_config v1→v2: job_config is not a valid CreateSessionRequest: proto: unknown field "event_type"

Attempt 4 — minimal create with flat prompt:

{"name": "test", "cron_expression": "0 12 * * 1-5", "job_config": {"prompt": "Say hello."}}

HTTP 400: translate job_config v1→v2: job_config is not a valid CreateSessionRequest: proto: unknown field "prompt"

The v1→v2 translator runs on every ccr payload regardless of whether it is a create or update. It requires event_type to translate but then rejects it as unknown in the target schema.

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version (tool was added and functional in v2.1.128)

Claude Code Version

2.1.153 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Related issues:

  • #43440 — RemoteTrigger 500s on list/update/delete (April 2026)
  • #53581 — Routines /run endpoint HTTP 400 regression

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING