Buildkite-agent: fatal: failed to see if meta-data exists: POST, and it's using %22 in the ID

I’m building a new version of our plugin that uses the bootstrap command in a VM we spin up using hooks. This is working, but there is a warning that’s making me uncomfortable.

Code for the plugin is at GitHub - veertuinc/anka-buildkite-plugin at v2.0.0

Preparing plugins
Running plugin anka-buildkite-plugin pre-checkout hook
Preparing working directory
Running plugin anka-buildkite-plugin post-checkout hook
:anka: Cloning 26.3-arm64 to 26.3-arm64-019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd
Running plugin anka-buildkite-plugin pre-command hook
Running plugin anka-buildkite-plugin command hook
:anka: buildkite-agent not in VM; copying from host (/opt/homebrew/Cellar/buildkite-agent/3.118.0/bin/buildkite-agent) to /usr/local/bin
Executing buildkite-agent bootstrap in 26.3-arm64-019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd
$ anka --debug run --env-file /var/folders/vt/byhkgjmd4pq6v8j2f9tsghf40000gn/T/job-env-019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd3946572070 ... (45 args) --plugins-path /opt/homebrew/var/buildkite-agent/plugins
Mon Feb 23 18:01:50 10 (main) 79396: Anka Build Enterpriseplus version 3.8.4 (build 210) arm64
Mon Feb 23 18:01:50 10 (config) 79396: loading from /Applications/Anka.app/Contents/Resources:~/.anka/settings.ini
Mon Feb 23 18:01:50 10 (config) 79396: reading /Applications/Anka.app/Contents/Resources/settings.ini
Mon Feb 23 18:01:50 10 (config) 79396: reading /Applications/Anka.app/Contents/Resources/settings.ini
Mon Feb 23 18:01:50 10 (config) 79396: reading ~/.anka/settings.ini
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_BUILD_CREATOR_EMAIL="manisha@veertu.com"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_COMMAND="env\nwhoami\nhostname\npwd\nls -la\nmkdir -p /tmp/buildkite-cache/test1\n"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_AGENT_NAME="Nathans-MacBook-Pro-2.local-1"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_CLUSTER_NAME="Default cluster"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_REBUILT_FROM_BUILD_ID=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_BRANCH="v2.0.0"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_TRIGGERED_FROM_BUILD_NUMBER=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_TRIGGERED_FROM_BUILD_ID=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_LABEL=":anka: TESTING"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_PROJECT_PROVIDER="github"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_BUILD_AUTHOR_EMAIL=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_MESSAGE="2.0.0"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_ORGANIZATION_ID="2c013501-8454-45be-96de-c364d4c6f73f"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_REBUILT_FROM_BUILD_NUMBER=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_PULL_REQUEST_LABELS=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_BUILD_CREATOR="Manisha Arora"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_PLUGINS="[{\"github.com/veertuinc/anka-buildkite-plugin#dev\":{\"debug\":true,\"vm-name\":\"26.3-arm64\",\"anka-debug\":true,\"copy-out-vm-path\":\"/tmp/buildkite-cache\",\"copy-out-host-path\":\"/tmp/buildkite-cache/019c8ceb-9b94-4d99-9dee-9cd1e789c227\"}}]"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_SCRIPT_PATH="env\nwhoami\nhostname\npwd\nls -la\nmkdir -p /tmp/buildkite-cache/test1\n"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_ORGANIZATION_SLUG="veertu-inc"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_TRIGGERED_FROM_BUILD_PIPELINE_SLUG=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_REPO="https://github.com/veertuinc/anka-buildkite-plugin.git"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_PIPELINE_SLUG="anka-buildkite-plugin-test"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_PULL_REQUEST_BASE_BRANCH=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_AGENT_META_DATA_QUEUE="default-queue"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_PIPELINE_NAME="anka-buildkite-plugin-test"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_PULL_REQUEST="false"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_STEP_KEY=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_PULL_REQUEST_REPO=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_AGENT_ID="019c8ceb-9b94-4d99-9dee-9cd1e789c227"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_COMMIT_RESOLVED="true"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_RETRY_COUNT="0"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_COMPUTE_TYPE="self-hosted"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_CLUSTER_ID="1e76afe1-04e7-45e6-8d93-66c8076a0cMon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_TIMEOUT="240"
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_BUILD_AUTHOR=""
Mon Feb 23 18:01:50 10 (run) 79396: adding BUILDKITE_AGENT_ACCESS_TOKEN=[REDACTED]
Mon Feb 23 18:01:50 20 (run) 79396: command successfully started: PID 658
Preparing working directory
# Creating "/opt/homebrew/var/buildkite-agent/builds/Nathans-MacBook-Pro-2-local-1/veertu-inc/anka-buildkite-plugin-test"
$ cd /opt/homebrew/var/buildkite-agent/builds/Nathans-MacBook-Pro-2-local-1/veertu-inc/anka-buildkite-plugin-test
$ git clone -v -- https://github.com/veertuinc/anka-buildkite-plugin.git .
Cloning into '.'...
POST git-upload-pack (182 bytes)
POST git-upload-pack (gzip 1409 to 714 bytes)
remote: Enumerating objects: 746, done.
remote: Counting objects: 100% (211/211), done.
remote: Compressing objects: 100% (126/126), done.
remote: Total 746 (delta 136), reused 133 (delta 72), pack-reused 535 (from 2)
Receiving objects: 100% (746/746), 162.13 KiB | 4.27 MiB/s, done.
Resolving deltas: 100% (391/391), done.
$ git clean -ffxdq
$ git fetch -- origin d7fcb847c9c677ba6e0f8a426f1817f332414c2f
From https://github.com/veertuinc/anka-buildkite-plugin
 * branch            d7fcb847c9c677ba6e0f8a426f1817f332414c2f -> FETCH_HEAD
$ git checkout -f d7fcb847c9c677ba6e0f8a426f1817f332414c2f
Note: switching to 'd7fcb847c9c677ba6e0f8a426f1817f332414c2f'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
  git switch -c <new-branch-name>
Or undo this operation with:
  git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at d7fcb84 2.0.0
# Cleaning again to catch any post-checkout changes
$ git clean -ffxdq
# Checking to see if git commit information needs to be sent to Buildkite...


$ /usr/local/bin/buildkite-agent meta-data exists buildkite:git:commit
2026-02-23 16:01:52 WARN   POST https://agent.buildkite.com/v3/jobs/%22019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd%22/data/exists: 404 Not Found: Could not find job: "019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd" (Attempt 1/10 Retrying in 5s)
buildkite-agent: fatal: failed to see if meta-data exists: POST https://agent.buildkite.com/v3/jobs/%22019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd%22/data/exists: 404 Not Found: Could not find job: "019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd"
# Sending Git commit information back to Buildkite
$ /usr/local/bin/buildkite-agent meta-data set buildkite:git:commit < /dev/stdin
2026-02-23 16:01:52 INFO   Reading meta-data value from STDIN
2026-02-23 16:01:52 WARN   POST https://agent.buildkite.com/v3/jobs/%22019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd%22/data/set: 404 Not Found: Could not find job: "019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd" (Attempt 1/10 Retrying in 2s)
buildkite-agent: fatal: failed to set meta-data: POST https://agent.buildkite.com/v3/jobs/%22019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd%22/data/set: 404 Not Found: Could not find job: "019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd"
⚠️ Warning: Couldn't send commit information to Buildkite: sending git commit information to Buildkite: exit status 1. You can disable this warning by passing the `--disable-warnings-for git-commit-resolution-failed` flag


Running commands
Uploading artifacts
:anka: Copying 26.3-arm64-019c8cf3-43a2-4f0c-b86d-4c1bfe8c03fd:/tmp/buildkite-cache to /tmp/buildkite-cache/019c8ceb-9b94-4d99-9dee-9cd1e789c227
Running plugin anka-buildkite-plugin post-command hook
Running plugin anka-buildkite-plugin pre-exit hook
:anka: Cleaning up clone (cancellation or exit)

As you can see, it’s using %22 in the ID… But that’s not right. Is this a bug?

Hey Nathan! I’ve replied separately in the Buildkite Support ticket that you created earlier.

Got it. Anka doesn’t strip quotes out when it injects them into the VM.