You are looking at historical revision 18211 of this page. It may differ significantly from its current revision.


Eggs are CHICKEN-specific extension libraries, conveniently packaged in a source archive. They are stored in a centralized repository and can be downloaded and installed (mostly) automatically.

The egg index is the official list of eggs for the latest chicken major version (4), along with their documentation. If you are looking for eggs for the previous chicken major version (3), they are here.

You can subscribe to the Egg RSS 2.0 feed.

Here you can see the dependencies among eggs (only for chicken 3 eggs, currently).

Installing eggs

To install any of the eggs, run the following command, replacing name for the egg's name:

chicken-install name

This will download the egg and install it. Enter

chicken-install -help

for a list of options or consult the chicken-install(1) manual page.

Loading eggs

To load and import an egg into your program, use:

(require-extension egg-name)      ; load library code, import identifiers

To restrict, rename, or prefix imported identifiers, you can split up the load and import pieces:

([[man/4/Non-standard macros and special forms#require-library|require-library]] gopher)          ; load library code
([[man/4/Modules and macros#import|import]] (prefix gopher gopher:))  ; import identifiers with a prefix

Keeping eggs in an alternative directory

You can keep the eggs repository in a different repository. See the Extensions/Changing repository location section of the manual for more information on that.

Source code

To obtain the source code to an egg, run

chicken-install -r name

You can also browse the Subversion egg repository on the web. Use the username "anonymous" and the password "".

To check out a copy of the entire egg repository:

svn co --username anonymous --password ""

To check out an individual egg:

svn co --username anonymous --password ""

Many eggs in the repository contain tags/ and trunk/ directories --- tags/x.y.z corresponding to egg version x.y.z, and trunk/ being the development area --- so the last command may check out more code than you want. You can browse the repository or use svn ls to find a specific version. Additionally, the current "release" version number of each egg can be found on the egg index page.


If you want to help document the eggs, please consult the eggs guidelines.

If you want to contribute new eggs, you might want to consult the eggs tutorial and the official, automatically built, list of eggs: egg index.