# How to Manually Configure a Specific Platform Channel Without Auto-Install in Agent Reach

> Manually configure Agent Reach platform channels without auto-install. Use the CLI, backend overrides, or edit config yaml directly for precise control. Learn how now.

- Repository: [Pnant/Agent-Reach](https://github.com/Panniantong/Agent-Reach)
- Tags: how-to-guide
- Published: 2026-07-19

---

**You can manually configure a specific platform channel in Agent Reach without auto-install by writing credentials directly to `~/.agent-reach/config.yaml` through the `agent-reach configure` CLI command, backend overrides, or direct file edits, which the `Config` class loads and `BaseChannel.check()` validates.**

Agent Reach is an open-source automation framework that routes tasks through social media and web platforms. When you want to manually configure a specific platform channel without auto-install, you bypass the guided setup and supply cookies, tokens, or backend preferences directly to its configuration layer.

## How Agent Reach Stores Channel Settings

All user-defined settings live in the YAML file at **`~/.agent-reach/config.yaml`**. The core system reads this file through the [`Config`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/config.py) class in [`agent_reach/config.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/config.py).

When you invoke the CLI, [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py) parses the `configure` sub-command arguments inside `_cmd_configure` and calls `config.set`. The `Config.set` method updates an in-memory dictionary and persists changes to disk atomically with restricted permissions. Later, channel logic in [`agent_reach/channels/base.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/base.py) queries these values via `config.get` to determine whether a channel is operational.

## How to Manually Configure a Channel Without Auto-Install

### Set Tokens and Cookies via CLI

The `agent-reach configure` command accepts a key and a value, letting you define credentials without launching the interactive installer.

Configure Twitter cookies manually:

```bash
agent-reach configure twitter-cookies "auth_token=AAA; ct0=BBB"

```

Configure YouTube cookies manually:

```bash
agent-reach configure youtube-cookies "chrome"

```

Set a proxy for platforms such as Reddit or Twitter:

```bash
agent-reach configure proxy "http://user:pass@proxy.example.com:8080"

```

### Force a Backend Override

You can override the default backend for a specific channel by adding a `<channel>_backend` entry. This is useful when you want to force a headless or CLI-compatible backend on a server.

```bash
agent-reach configure reddit_backend opencli

```

This writes the override to the config store so that `BaseChannel` picks up the non-default backend during initialization.

### Bulk Edit the YAML File Directly

For channels that lack an installer step or when you need to change many values at once, edit **`~/.agent-reach/config.yaml`** directly:

```yaml

# ~/.agent-reach/config.yaml

proxy: "http://user:pass@proxy.example.com:8080"
twitter_auth_token: "AAA"
twitter_ct0: "BBB"
reddit_backend: "opencli"

```

Because the `Config` class loads this file on every read, the changes take effect immediately on the next command or channel check.

## Validation and Status Checking

Once values are written, the [`BaseChannel`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/base.py) class reads them through `config.get` and runs its **`check()`** method. If the required keys are present, the channel reports **`ok`**; missing or invalid keys result in **`warn`** or **`off`**.

The [`agent_reach/doctor.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/doctor.py) module aggregates these results. Run the doctor to confirm your manual configuration worked:

```bash
agent-reach doctor

```

If the required tokens, cookies, or backend overrides are present in the YAML store, the channel will now appear active in the doctor output.

## Summary

- Agent Reach stores all settings in **`~/.agent-reach/config.yaml`**, managed by the `Config` class in [`agent_reach/config.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/config.py).
- You can **manually configure a specific platform channel without auto-install** by passing key-value pairs to `agent-reach configure`.
- Override per-channel behavior by setting `<channel>_backend` directly in the config or via the CLI.
- Direct YAML edits work immediately and are ideal for bulk updates.
- Channel health is determined by `BaseChannel.check()` in [`agent_reach/channels/base.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/base.py) and exposed through the `agent-reach doctor` command.

## Frequently Asked Questions

### Where does Agent Reach save configuration values?

Agent Reach saves values to **`~/.agent-reach/config.yaml`**. The `Config` class in [`agent_reach/config.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/config.py) handles loading and saving, while `_cmd_configure` in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py) (around lines 190–270) provides the CLI entry point for updates.

### Can I configure a channel if it does not have an auto-installer?

Yes. Channels that lack an installer step can still be activated by editing `~/.agent-reach/config.yaml` directly or by using `agent-reach configure` to supply the exact keys that `BaseChannel.check()` expects.

### Why is my channel still marked `warn` after setting credentials?

The `BaseChannel.check()` method in [`agent_reach/channels/base.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/channels/base.py) queries the config for specific required keys via `config.get`. If the key name is incorrect, the value is empty, or the format does not match what the channel expects, it will report `warn` or `off` instead of `ok`.

### How do I force a specific backend for just one platform?

Set the `<channel>_backend` key in the configuration. For example, run `agent-reach configure reddit_backend opencli` to force Reddit to use the `opencli` backend without changing global defaults, as implemented in [`agent_reach/cli.py`](https://github.com/Panniantong/Agent-Reach/blob/main/agent_reach/cli.py).