Context Merge Big (rgthree)
Context Merge Big (rgthree)
- CONTEXT
- MODEL
- CLIP
- VAE
- POSITIVE
- NEGATIVE
- LATENT
- IMAGE
- SEED
- STEPS
- STEP_REFINER
- CFG
- CKPT_NAME
- SAMPLER
- SCHEDULER
- CLIP_WIDTH
- CLIP_HEIGHT
- TEXT_POS_G
- TEXT_POS_L
- TEXT_NEG_G
- TEXT_NEG_L
- MASK
- CONTROL_NET
Context Merge Big takes two or more rgthree Context bundles, overlays them into a single combined bundle, and then hands you both that merged bundle and every field inside it exploded back out onto individual wires. It's the "combine two flows into one, then unpack everything" node. If you've ever had a base setup on one Context and a handful of overrides on another and wanted to fold them together without a spaghetti of reroutes, this is the node.
First, what a Context even is
rgthree's Context nodes exist to solve one problem: big workflows turn into an unreadable mess of wires. A Context bundles a whole pile of connections - model, clip, vae, your positive and negative conditioning, latent, image, seed, and more - into one fat wire you drag across the graph. Downstream you "explode" it back into the pieces you need. It's the same idea other suites call a "pipe," just easier to merge and more interoperable with stock ComfyUI nodes.
The plain Context node carries a core set. The Big variant carries the extended set - steps, cfg, sampler, scheduler, the SDXL-style split text fields, and so on - and the two are backwards compatible, so a value you set on a Big will pass through a normal Context node just fine. Merge Big is the merging member of that family.
How the merge works
You feed it several Context inputs and it walks them into one output bundle, slot by slot. Where a later input has a real value, it fills or overrides what came before; where it's empty, the earlier value carries through. That's the whole trick - "pass along general flow properties, and merge in new data," in the author's own framing. So the common pattern is: one Context holds your baseline (checkpoint, vae, base prompt), a second Context holds just the couple of things you're changing this run, and Merge Big lays the second over the first.
Because a muted upstream node produces None, you can also use muting to make one of the merge inputs go empty on purpose - which is how these nodes play nicely with rgthree's Fast Muter dashboard.
The outputs that matter
The first output is CONTEXT - the merged bundle, ready to hand to the next Context-aware node so the wire stays tidy. Everything after it is the same bundle already unpacked, so you can tap what you need without an extra explode node: MODEL, CLIP, VAE, POSITIVE and NEGATIVE (both CONDITIONING), LATENT, IMAGE, and SEED.
Because it's the Big merge, you also get the extended fields: STEPS, STEP_REFINER, CFG, SAMPLER, SCHEDULER, CKPT_NAME, CLIP_WIDTH and CLIP_HEIGHT, the four SDXL-style prompt strings TEXT_POS_G / TEXT_POS_L / TEXT_NEG_G / TEXT_NEG_L, plus MASK and CONTROL_NET. Wire MODEL and the two CONDITIONING slots into your KSampler, VAE into the decode, and keep the CONTEXT wire flowing onward for the next section of the graph.
Installing it
It ships in rgthree-comfy. Easiest path is ComfyUI Manager - search rgthree's ComfyUI Nodes and install. Or clone it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/rgthree/rgthree-comfy.git
Restart ComfyUI afterward. No models, no extra Python dependencies - the whole pack is graph plumbing, not generation.
Common issues
Merge is not switch. This is the trap. Merge Big overlays every input into one combined bundle; if you actually want to pick one whole context and ignore the rest, that's Context Switch, not Merge. Reach for Merge when you're stacking, Switch when you're branching.
Empty vs. present. A merge input only overrides when it carries a real value. If an override "isn't taking," check that the node feeding that slot is actually producing something and isn't muted - muting it is exactly what makes it drop out of the merge.
Nodes 2.0. The pack-wide caveat applies here too. ComfyUI's Nodes 2.0 frontend rewrite (late 2025) broke rendering and the properties panel on several rgthree nodes, and issue 632 was still open into mid-2026. If this node draws wrong or its right-click properties won't open, check whether Nodes 2.0 is enabled - the standing community workaround is to leave it off and stay on the legacy canvas.
Inputs (0)
No inputs
Outputs (23)
| Name | Type | Description |
|---|---|---|
| CONTEXT | RGTHREE_CONTEXT | — |
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |
| POSITIVE | CONDITIONING | — |
| NEGATIVE | CONDITIONING | — |
| LATENT | LATENT | — |
| IMAGE | IMAGE | — |
| SEED | INT | — |
| STEPS | INT | — |
| STEP_REFINER | INT | — |
| CFG | FLOAT | — |
| CKPT_NAME | — | |
| SAMPLER | euler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2 | — |
| SCHEDULER | simple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal | — |
| CLIP_WIDTH | INT | — |
| CLIP_HEIGHT | INT | — |
| TEXT_POS_G | STRING | — |
| TEXT_POS_L | STRING | — |
| TEXT_NEG_G | STRING | — |
| TEXT_NEG_L | STRING | — |
| MASK | MASK | — |
| CONTROL_NET | CONTROL_NET | — |