# How to Use the RLM (Recursive LM) Tool in DeepSeek-TUI for Oversized Inputs

> Learn to use the RLM Recursive LM tool in DeepSeek-TUI. It processes oversized inputs by recursively handling text chunks in isolation within a sandboxed Python REPL.

- Repository: [DeepSeek/awesome-deepseek-agent](https://github.com/deepseek-ai/awesome-deepseek-agent)
- Tags: how-to-guide
- Published: 2026-08-15

---

**DeepSeek-TUI's RLM (Recursive LM) tool automatically processes inputs exceeding the model's context window by spawning a sandboxed Python REPL that recursively handles text chunks in isolation.**

The **RLM (Recursive LM)** tool is a core feature of the DeepSeek-TUI interface (hosted in the `Hmbown/DeepSeek-TUI` repository) designed to eliminate manual text chunking when working with large documents. When your prompt surpasses the model's token limit, this tool transparently manages the overflow by orchestrating recursive language model calls within a secure, ephemeral environment. This allows you to paste entire logs, lengthy codebases, or massive text files directly into the TUI without preprocessing.

## How RLM Handles Oversized Inputs

When an input exceeds the configured token threshold, DeepSeek-TUI delegates processing to the RLM tool. According to the implementation in [`src/tools/rlm.rs`](https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/src/tools/rlm.rs), the system executes a five-stage pipeline:

1. **Input size validation** – Before each turn, the TUI compares prompt length against the model's maximum token limit.

2. **Sandbox initialization** – If the input is too large, the tool launches a short-lived, isolated Python REPL process.

3. **Recursive segmentation** – The sandbox splits the original text into segments that fit within the token budget, then recursively invokes the model on each chunk.

4. **Response synthesis** – Partial results are aggregated and stitched into a coherent final output.

5. **Context isolation** – The sandbox process terminates after execution, ensuring that variables, imports, and side effects never leak into your parent TUI session.

This architecture enables seamless processing of multi-megabyte inputs while maintaining interpreter state isolation.

## Three Ways to Invoke the RLM Tool

DeepSeek-TUI offers multiple entry points for engaging the recursive processing engine, depending on your workflow preferences.

### Automatic CLI Triggering

When piping large files directly into DeepSeek-TUI, the RLM tool activates automatically upon detecting context window overflow:

```bash
deepseek -p "$(cat huge_document.txt)"

```

The CLI measures the input from [`huge_document.txt`](https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/huge_document.txt), detects the oversized condition, and delegates to the RLM sandbox without requiring explicit flags.

### Interactive Mode Processing

In standard TUI interactive sessions, simply paste your oversized content at the prompt:

```bash
cd /path/to/project
deepseek

```

After pasting a large block of text (such as a multi-megabyte log file) and pressing **Enter**, the interface silently routes the request through the RLM pipeline. The response appears as if the model consumed the entire input simultaneously, with no visible chunking artifacts.

### Explicit Slash Command

For deterministic control, use the `/rlm` slash command documented in [`docs/deepseek-tui.md`](https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/docs/deepseek-tui.md):

```text
/rlm <path/to/large_file>

```

Alternatively, pass inline text directly:

```text
/rlm "Your very long inline text ..."

```

This explicit invocation immediately routes the supplied argument through [`src/tools/rlm.rs`](https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/src/tools/rlm.rs) regardless of automatic size detection, forcing recursive processing for that specific turn.

## Technical Implementation Details

The RLM tool's sandboxing mechanism is implemented in Rust within [`src/tools/rlm.rs`](https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/src/tools/rlm.rs). The module spawns a separate Python interpreter process that maintains strict isolation from the parent DeepSeek-TUI session. This design prevents namespace pollution—any imports, variable assignments, or file operations executed during recursive processing remain confined to the ephemeral sandbox.

The tool recursively calls the underlying language model API for each text segment, accumulating context across chunks through an internal state management system. Once all segments are processed, the sandbox compiles the fragmented responses into a unified output before terminating, ensuring that the parent session receives only the final aggregated result.

## Summary

- DeepSeek-TUI's **RLM tool** automatically handles inputs exceeding token limits via recursive segmentation.
- The implementation in [`src/tools/rlm.rs`](https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/src/tools/rlm.rs) uses a **sandboxed Python REPL** to process chunks in isolation.
- **Three invocation methods** exist: automatic CLI detection, interactive mode auto-routing, and the explicit `/rlm` slash command.
- **Context isolation** guarantees that recursive processing side effects never contaminate your main TUI session.
- No manual preprocessing or text splitting is required when using the RLM tool for oversized documents.

## Frequently Asked Questions

### How does DeepSeek-TUI determine when to activate the RLM tool?

DeepSeek-TUI compares the incoming prompt length against the model's configured maximum token limit before each generation turn. If the input exceeds this threshold, the system automatically invokes the RLM tool from [`src/tools/rlm.rs`](https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/src/tools/rlm.rs) to handle the recursive processing.

### Can I use the RLM tool with files larger than 100MB?

Yes. The RLM tool is designed to handle arbitrarily large inputs by streaming and segmenting the content within the sandboxed Python environment. As implemented in [`src/tools/rlm.rs`](https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/src/tools/rlm.rs), it recursively processes the file in memory-bounded chunks, though practical limits depend on your system's available RAM and the API rate limits configured in your DeepSeek-TUI instance.

### Does the RLM tool preserve conversational context across recursive calls?

The RLM tool maintains context within a single oversized prompt processing task by aggregating partial results, but it does not automatically persist context between separate user turns. Each recursive call within the sandbox contributes to the final aggregated response for that specific input, after which the sandbox terminates, isolating the operation from subsequent interactions.

### Is the RLM sandbox secure for processing untrusted code or data?

The sandbox runs in a separate Python process that isolates imports and variable state from the parent DeepSeek-TUI session. However, it executes within your local environment, so you should still exercise caution with truly malicious inputs. The tool is primarily designed for text overflow management rather than security hardening against adversarial code execution.