Job processing libraries like Cloudtasker encode Cloud Tasks payloads as base64, making them unreadable in the Cloud Console. This Chrome extension decodes the payloads inline.
Before:
eyJ3b3JrZXIiOiJNeVdvcmtlciIsImpvYl9xdWV1ZSI6ImRlZmF1bHQi...
After:
{
"worker": "MyWorker",
"job_queue": "default",
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"job_args": ["arg1", "arg2"]
}This extension is not on the Chrome Web Store. Install it manually:
-
Clone the repo:
git clone https://github.com/castolonco/cloud-tasks-payload-decoder.git
-
Go to
chrome://extensionsand enable Developer mode -
Click Load unpacked and select the cloned directory
- Open the Cloud Tasks UI
- Click on any task to open its details
- The payload is automatically decoded and syntax-highlighted
- Click Show Raw Base64 to toggle views
- Works with any base64-encoded JSON payload, not just Cloudtasker
- Automatic base64 JSON decoding
- Syntax highlighting (keys, strings, numbers, booleans)
- Toggle between decoded and raw views
- Dark mode support
Requires Node.js 20+.
npm install
npm test # Run tests
npm run test:coverage # With coverage
npm run lint # Check code stylesrc/
├── background.js # Service worker - injects into existing GCP tabs on install
├── content.js # Content script - detects dialogs, injects decoded view
├── decoder.js # Base64 decoding and JSON syntax highlighting
├── dom-helpers.js # DOM utilities
└── styles.css # Styling
tests/
├── background.test.js
├── content.test.js
├── content-script.test.js
└── decoder.test.js
PRs welcome. Please run npm test && npm run lint before submitting.
MIT