Index: trunk/console/scripts/console-config
===================================================================
--- trunk/console/scripts/console-config	(revision 24600)
+++ trunk/console/scripts/console-config	(revision 24610)
@@ -17,4 +17,5 @@
     $add,
     $console,
+    $delete,
     $verbose,
 );
@@ -23,8 +24,10 @@
     'add|a'         => \$add,
     'console|c=s'   => \$console,
+    'delete|d'      => \$delete,
     'verbose|v'     => \$verbose,
 ) || pod2usage( 2 );
 
 my $hostname = shift @ARGV;
+pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV;
 
 my $rcfile = Console::find_rcfile();
@@ -32,5 +35,26 @@
 my $hosts = $c->get_hosts;
 
-unless (defined $add) {
+if (defined $add) {
+    go_add();
+    exit();
+}
+
+if (defined $delete) {
+    go_delete();
+    exit();
+}
+
+# default
+go_list();
+exit();
+
+
+sub go_list
+{
+    pod2usage(
+        -msg        => "--console is meaningless in this context",
+        -exitval    => 2,
+    ) if defined $console;
+
     if (defined $hostname) {
         die "unknown hostname: $hostname" unless exists $hosts->{$hostname}->{console};
@@ -43,9 +67,40 @@
         }
     }
-} else {
-    die "--console option is required under --add" unless defined $console;
-    $hosts->{$hostname} = { console => $console };
-    $c->set_hosts($hosts);
-    $c->write;
+}
+
+sub go_add
+{
+    pod2usage(
+        -msg        =>"--console option is required under --add",
+        -exitval    => 2,
+    ) unless defined $console;
+    pod2usage(
+        -msg        => "<hostname> option is required under --add",
+        -exitval    => 2,
+    ) unless defined $hostname;
+    pod2usage(
+        -msg        => "--add and --delete are incompatible options",
+        -exitval    => 2,
+    ) if defined $delete;
+
+    Console::add_host(config => $c, hostname => $hostname, console => $console);
+}
+
+sub go_delete
+{
+    pod2uage(
+        -msg        => "--console and --delete are incompatible options",
+        -exitval    => 2,
+    ) if defined $console;
+    pod2uage(
+        -msg        => "<hostname> option is required under --delete",
+        -exitval    => 2,
+    ) unless defined $hostname;
+    pod2uage(
+        -msg        => "--add and --delete are incompatible options",
+        -exitval    => 2,
+    ) if defined $add;
+
+    Console::delete_host(config => $c, hostname => $hostname);
 }
 
@@ -60,5 +115,13 @@
 =head1 SYNOPSIS
 
-    console [--console <console hostname>] [--verbose] <hostname>
+    console [--verbose] [<hostname>]
+
+    or
+
+    console [--verbose] --add --console <console hostname> <hostname>
+
+    or
+
+    console [--verbose] --delete <hostname>
 
 =head1 DESCRIPTION
