Bug reportAug 27, 2026· 0:50· 14 views
Hoppscotch: Snowflake-style integers (>2^53) silently corrupted in generated cURL command
0:50 total
Comments · 0
Be the first to comment.
Bug report— by SceneRecap AI
mediumcode-generation
os: macOSbrowser: Chromium 151.0.7922.34viewport: 1280x720
Repro steps
- 1.Navigate to Hoppscotch request builder
- 2.Enter a request URL (e.g., https://api.example.com/items)
- 3.Switch to the 'Body' tab and select Content Type 'application/json'
- 4.Input a JSON body containing integers larger than 2^53 (e.g. {"consIds": [154284075601887489, 160768022762487810]})
- 5.Click the Send options dropdown and select 'Show code'
- 6.Inspect the generated cURL command payload in the 'Generate code' modal
Expected
The generated cURL code snippet preserves the exact JSON raw body string without altering 64-bit integer precision (e.g., [154284075601887489, 160768022762487810]).
Actual
Large integers exceeding Number.MAX_SAFE_INTEGER are parsed into standard JavaScript floats/numbers and re-serialized, corrupting the values to [154284075601887500, 160768022762487800].
Evidence
visualRaw Request Body in editor displays {"consIds": [154284075601887489, 160768022762487810]}
visualGenerate code modal displays corrupted payload in cURL: --data '{"consIds": [154284075601887500, 160768022762487800]}'
Issue markdown (copy-paste ready)
### Description
When generating code snippets (such as Shell - cURL) from a request with an `application/json` raw body, integer values exceeding JavaScript's safe integer limit (`Number.MAX_SAFE_INTEGER` / `2^53 - 1`) are parsed with standard `JSON.parse` or numeric conversion, causing IEEE 754 precision loss and corrupting 64-bit/snowflake IDs.
### Steps to Reproduce
1. Open Hoppscotch (0.0s).
2. Set request URL to `https://api.example.com/items` (4.6s).
3. Switch to **Body** tab and choose **application/json** (11.2s - 15.0s).
4. In the raw JSON body editor, enter:
```json
{"consIds": [154284075601887489, 160768022762487810]}
```
(21.0s - 25.0s).
5. Click the Send dropdown menu and select **Show code** (27.4s - 30.1s).
6. View the generated cURL command (33.0s).
### Expected Result
The generated code snippet should preserve the raw string representation of the body without numeric precision loss:
`--data '{"consIds": [154284075601887489, 160768022762487810]}'`
### Actual Result
The numbers are rounded upon code generation:
`--data '{"consIds": [154284075601887500, 160768022762487800]}'`
*Recorded with SceneRecap.*Your recordings could explain themselves too.
Free plan · silent recordings welcome · bug reports included.
Try SceneRecap free →