Console (Request History)

January 17, 2026 · View on GitHub

The Console tab in the Response panel displays a chronological history of all HTTP requests made during your session.

Overview

The Console provides:

  • Request/response logging for all HTTP calls
  • Visual status indicators (color-coded badges)
  • Quick actions (resend, copy to clipboard)
  • Vim-style navigation

Accessing the Console

KeyAction
4Switch to Console tab
TabCycle through Response tabs

The Console is the 4th tab in the Response panel:

Body │ Headers │ Cookies │ Console
                          ^^^^^^^^

Console View

List View

Shows all requests in chronological order (newest first):

┌─Console──────────────────────────────────────────┐
│ ● 200  GET    /api/users           142ms   1.2KB │
│ ● 201  POST   /api/users           89ms    256B  │
│ ○ ERR  GET    /api/invalid         --      --    │
│ ● 404  GET    /api/missing         45ms    128B  │
└──────────────────────────────────────────────────┘

Entry Components:

ComponentDescription
Status badgeColor-coded circle (●/○)
Status codeHTTP status or "ERR" for errors
MethodHTTP method
PathRequest URL path
DurationResponse time
SizeResponse body size

Status Colors

StatusColorIndicator
2xx SuccessGreen
3xx RedirectBlue
4xx Client ErrorOrange
5xx Server ErrorRed
Network ErrorGray

Expanded View

Press Enter or l to expand an entry:

┌─Console: GET /api/users─────────────────────────┐
│ Status: 200 OK                                  │
│ Time: 142ms                                     │
│ Size: 1.2 KB                                    │
│                                                 │
│ ─── Request ───                                 │
│ GET https://api.example.com/api/users           │
│ Authorization: Bearer ***                        │
│ Content-Type: application/json                  │
│                                                 │
│ ─── Response ───                                │
│ {                                               │
│   "users": [...]                                │
│ }                                               │
│                                                 │
│ [R]esend [H]eaders [B]ody [E]rror [A]ll        │
└─────────────────────────────────────────────────┘

List View Navigation

KeyAction
jMove down
kMove up
gJump to first entry
GJump to last entry
Enter / lExpand selected entry

Expanded View Navigation

KeyAction
Esc / h / qCollapse back to list
j / kScroll content

Actions

Resend Request

ContextKeyAction
List viewRResend selected request
Expanded viewRResend current request

Resending:

  1. Creates a new request with same parameters
  2. Sends immediately
  3. New entry added to console

Copy to Clipboard

Available in expanded view:

KeyCopies
HResponse headers
BResponse body
EError message (if failed)
CResponse cookies
IRequest info (method, URL, headers)
AAll (request + response)
UURL only (also works in list view)

Console Entry Details

Successful Request

Request:
  Method: POST
  URL: https://api.example.com/users
  Headers:
    Content-Type: application/json
    Authorization: Bearer {{token}}
  Body: '{"name": "John"}'

Response:
  Status: 201 Created
  Time: 89ms
  Size: 256 bytes
  Headers:
    Content-Type: application/json
    X-Request-Id: abc123
  Body: '{"id": 1, "name": "John"}'

Failed Request

Request:
  Method: GET
  URL: https://invalid.example.com/api
  Headers: ...

Error:
  Type: Network Error
  Message: "dial tcp: lookup invalid.example.com: no such host"

Session Behavior

Persistence

Console history is session-only:

  • Cleared when LazyCurl exits
  • Not saved to disk
  • Fresh start each session

Capacity

Console maintains recent history:

  • Default: Last 100 requests
  • Oldest entries removed when limit reached

Use Cases

Debugging

  1. Send request
  2. Check Console for details
  3. Compare with previous attempts
  4. Copy headers/body for inspection

Replay Testing

  1. Find previous successful request
  2. Press R to resend
  3. Compare results

Documentation

  1. Expand successful request
  2. Press A to copy all
  3. Paste into documentation

Technical Details

Entry Structure

type ConsoleEntry struct {
    ID        string
    Timestamp time.Time
    Request   *http.Request
    Response  *http.Response
    Duration  time.Duration
    Error     error
    Size      int64
}

Timing

Duration is measured from request send to response complete (including body read).

Size Calculation

Response size includes body only, not headers.


See Also