What happens to a proxy configured in the Postman app when the same collection is run from a terminal?
answer
- Look for the flag and stop looking
- An absence, not a spelling mistake
- The document never mentioned it either
- Proxying is a property of the machine
basics
~20 sIt does not travel. There is no command-line proxy option at all, so a proxy the app applied stays behind; a terminal run is proxied only if its own host environment puts one in front of the process.
solid answer
~40 sNothing carries it. The command line has **no proxy option at all** — this is an absence, not a syntax you have forgotten — so proxying the application was doing quietly for every call simply stops at the app boundary. The exported collection never mentioned a proxy either, so nothing looks missing when the file moves. What follows is a connection-level failure on a machine that needs the proxy and a clean pass on one that does not, from an identical command. Contrast it with a client certificate, which *does* have a flag (`--ssl-client-cert`), even though that entry is appended last with an `<all_urls>` match and can be shadowed. The practical move is to stop hunting for a flag and establish reachability from the machine that will run the collection.
go deeper
Be ready to state plainly that a terminal run has no proxy option, so a proxy the app was applying does not come along with the exported collection.
Explain why this shows up as a connection failure rather than an assertion failure, and contrast it with a client certificate, which does have a flag even though its entry is appended last.
Demonstrate that you establish reachability from the machine that will run the collection before blaming the requests, and that you treat proxying as part of the runner's environment setup.
Own the wider point that an implicit input with no explicit channel is the worst handover: nothing in the command records the dependency, so it gets rediscovered by failure on every new machine.
## The measured absence A terminal run of a saved Postman collection has **no command-line option for a proxy**. Not a misspelled one, not one that needs a different form — there is nothing to pass. A proxy the application was applying is configuration held by the application, and no argument transfers it. This is worth stating as an absence rather than as a gap in your memory, because the usual debugging move — search the help output for the flag, try a few spellings, assume you got the syntax wrong — is wasted effort here. The right conclusion after ten seconds is *there is no such flag*, and therefore the question becomes **what else can put a proxy in front of this process**. ## Why it surprises people The application was doing something for every call, quietly, that nobody had to think about: - Requests that reached an internal service through a proxy simply worked. - Nothing in the collection document ever mentioned a proxy, so nothing looked missing when it was exported. - The failure that follows is **not an assertion failure**. Calls fail to connect, or they connect to something entirely different, and the output reads like a broken network rather than a missing setting. The result is a classic "works on my machine" report where both machines are honest: the app run was proxied and the terminal run was not, and neither of them said so. ## What travels and what does not | Input | Reaches a terminal run? | How | |---|---|---| | Requests, folders, scripts, collection variables | Yes | inside the exported document | | A chosen environment of saved values | Yes | named as an argument | | A client certificate | Yes | a flag, though its entry is appended last with an `<all_urls>` match | | The application's proxy setting | **No** | there is no option that carries it | The certificate row is the useful contrast. Both are transport configuration the app applied for you; one has a command-line path with a precedence surprise, and the other has **no path at all**. Knowing which is which saves an afternoon. ## What that means on a build agent The practical consequences are all about where the run happens rather than what the command says: - A run on a machine that already reaches the target directly will pass, and the same command on a machine that needs a proxy will not — with no difference in the command itself. - Proxying, if it happens, is a property of **the environment the process was started in**, not of the collection and not of the arguments. - Because nothing declares the intent, a machine that quietly stops proxying produces the same symptom as a service that went down. ## How to handle it 1. **Establish reachability first, from the machine that will run the collection** — a plain request to the same host, before blaming the collection at all. 2. **Decide deliberately where proxying comes from** on that machine, and treat it as a property of the runner's environment that has to be set up, not as something the collection can carry. 3. **Do not spend time hunting for a flag.** Once you know the option does not exist, the search space collapses to the machine and its surroundings. 4. **Make the requirement visible** — a run that silently depends on being on a particular network is a run that will be debugged from scratch by the next person. ## The general lesson The interesting thing about this one is not the proxy. It is that **an implicit input with no explicit channel is the worst kind of handover**: an input you can pass badly at least tells you it exists, while an input with no argument at all leaves nothing in the command to review. When a collection moves from the application to a terminal, look for the inputs that have no representation on the command line, because those are the ones that will be discovered by failure rather than by reading.
- Why is this absence worse to debug than the certificate flag's odd precedence?Because there is nothing in the command to review. A badly used flag at least appears in the command line and invites inspection, while an input with no argument leaves no trace of the dependency anywhere. The run behaves differently on two machines with an identical command, and the output reads like a broken network rather than a missing setting.
- What does that mean for where you prove a collection runs?Prove it on the machine that will actually run it. A laptop already inside the same network reaches the service directly and tells you nothing about an agent that does not. Establish plain reachability to the host from that machine first, then run the collection, so a connection problem is never mistaken for a collection problem.
saying these in an interview costs you the question
- Hunts for a proxy flag that does not exist
- Says the exported collection carries the app's proxy setting
- Assumes an app run proves the calls are routable anywhere
- Confuses a missing proxy with the service being down
- Re-exports the collection instead of checking reachability